私はyourameの動画をiframe APIと共に既存のページにchrome拡張コンテンツスクリプトの助けを借りて挿入しようとしています。しかし、私はonYouTubeIframeAPIReady
をトリガーすることができません。私はそれがwebview
で動作させることができたが、これはいないようですクロムアプリでyoutube video in chrome extensionコンテンツスクリプト
manifest.jsonを
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*", "file://*/*", "*://*/*"],
"js": ["content-script.js"]
}
],
コンテンツ-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();
};
拡張機能で利用できるようにする
コンテンツのスクリプトは隔離された環境で実行し、次のコードを使用して、他のモジュール内のYouTube APIを使用することができたとして、それをファイルに保存されました。ページ変数にアクセスするには、[Chrome拡張機能をビルドする - コンテンツスクリプトを使用してページにコードを挿入する](// stackoverflow.com/a/9517879)を参照してください。 – wOxxOm