mirror of https://github.com/iv-org/invidious.git
delete field from api and add escape embed code
This commit is contained in:
parent
00ae96a7e5
commit
afc521ef45
|
@ -103,7 +103,7 @@ class invidious_embed {
|
|||
async videodata_api(videoid) {
|
||||
const not_in_videodata_cahce = !(videoid in invidious_embed.videodata_cahce);
|
||||
if (not_in_videodata_cahce) {
|
||||
const video_api_response = await fetch(invidious_embed.invidious_instance + "/api/v1/videos/" + videoid + "?fields=title,videoId,paid,premium,isFamilyFriendly,isListed,liveNow");
|
||||
const video_api_response = await fetch(invidious_embed.invidious_instance + "/api/v1/videos/" + videoid);
|
||||
if (video_api_response.ok) {
|
||||
invidious_embed.videodata_cahce[videoid] = Object.assign({}, { status: true }, await video_api_response.json());
|
||||
} else {
|
||||
|
@ -680,9 +680,37 @@ class invidious_embed {
|
|||
return this.target_origin + "/watch?v=" + this.videoId;
|
||||
}
|
||||
|
||||
async getVideoEmbedCode() {
|
||||
const title = await this.getVideoTitle();
|
||||
return '<iframe width="560" height="315" src="' + this.target_origin + '/embed/' + this.videoId + '" title="' + title.replace('"', "'") + '" frameborder="0" allow="autoplay;encrypted-media;picture-in-picture;web-share" allowfullscreen></iframe>';
|
||||
getTitle(){
|
||||
return this.promise_send_event('gettitle');
|
||||
}
|
||||
|
||||
getVideoEmbedCode() {
|
||||
//const title = invidious_embed.api_promise? this.getTitle():await this.getTitle();]
|
||||
const embed_url = encodeURI(`${this.target_origin}/embed/${this.videoId}`);
|
||||
const html_escape = (html)=>{
|
||||
const html_escaped = html.replace(/[&'`"<>]/g, match=>{
|
||||
return {
|
||||
'&': '&',
|
||||
"'": ''',
|
||||
'`': '`',
|
||||
'"': '"',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
}[match]});
|
||||
return html_escaped;
|
||||
}
|
||||
const iframe_constractor = (raw_title)=>{
|
||||
const html_escaped_title = html_escape(raw_title);
|
||||
return `<iframe width="560" height="315" src="${ embed_url }" title="${ html_escaped_title }" frameborder="0" allow="autoplay;encrypted-media;picture-in-picture;web-share" allowfullscreen></iframe>`;
|
||||
}
|
||||
if(invidious_embed.api_promise){
|
||||
return new Promise(async(resolve,reject)=>{
|
||||
resolve(iframe_constractor(await this.getTitle()));
|
||||
})
|
||||
}
|
||||
else{
|
||||
return iframe_constractor(this.getTitle());
|
||||
}
|
||||
}
|
||||
|
||||
getCurrentTime() {
|
||||
|
|
Loading…
Reference in New Issue