Ich versuche, Youtube-Videos mit der Iframe-API in eine vorhandene Seite mit Hilfe eines Chrom-Erweiterung Inhalt Skript einfügen. Aber ich kann die onYouTubeIframeAPIReady
nicht auslösen.Youtube Video in Chrome Erweiterung Inhalt Skript
manifest.json
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*", "file://*/*", "*://*/*"],
"js": ["content-script.js"]
}
],
inhalt script.js
const appEl = document.createElement('div');
appEl.id = 'my-app';
appEl.innerHTML = `<div id="youtube-iframe"></div>`;
const bodyEl = document.querySelector('body');
bodyEl.insertBefore(appEl, bodyEl.firstChild);
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
document.querySelector('body').appendChild(tag);
window.onYouTubeIframeAPIReady =() => {
this.player = new YT.Player('youtube-iframe', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
}
});
}
function onPlayerReady(event) {
console.log('player ready');
event.target.playVideo();
};
In einem Chrom-App konnte ich es mit einem webview
machen zu arbeiten, aber dies scheint nicht in Erweiterungen verfügbar sein.
Inhalt Skripte in einer isolierten Umgebung laufen verwenden. Informationen zum Zugriff auf Seitenvariablen finden Sie unter [Erstellen einer Chrome-Erweiterung - Code auf einer Seite mithilfe eines Inhaltsskripts einfügen] (// stackoverflow.com/a/9517879) – wOxxOm