我想创建我的第一个firefox-addon,所以我真的没有经验。我想创建一个插件,以修改youtube-website。
背景.js
function editVideo() {
document.getElementsByTagName("video")[0].playbackRate = 2;
document.getElementById("movie_player").stopVideo();
document.getElementById("movie_player").setPlaybackQuality('hd720');
document.getElementById("movie_player").playVideo();
}
browser.browserAction.onClicked.addListener(editVideo);
subtest.json
{
"description": "YouTube-Test",
"manifest_version": 2,
"name": "YouTube-Test",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": {
"48": "icons/logo_48.png",
"64": "icons/logo_64.png"
}
}
}
因此,如果我单击按钮,则播放应为2和质量720p。但是什么都没有发生!如果我将thoose命令直接键入控制台,则可以。
我总是会遇到此错误:
document.getElementsbytagname(...([0]是未定义的
或:
document.getElementById(...(为null
我将感谢您的帮助。
{
"description": "YouTube-Test",
"manifest_version": 2,
"name": "YouTube-Test",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["https://www.youtube.com/*"],
"js": ["runsOnWebPage.js"],
"run_at": "document_idle"
}
],
"browser_action": {
"default_icon": {
"48": "icons/logo_48.png",
"64": "icons/logo_64.png"
}
}
}
Content_Scripts中的JS文件现在应该在YouTube上运行,您可能需要添加更多"matches"
,因为此文件仅涵盖该特定链接,YouTube具有1000个不同的链接