我正在尝试构建一个chrome扩展程序,用于检查用户当前正在查看的页面的所有链接,并检查该链接的目标,如果它是“http://www.youtube.com”则扩展名将其更改为“https://www.youtube.com”
但我的扩展程序无效!!
这是我的manifest.json
{
"name": "Youtube Host Changer",
"version" : "1.0",
"manifest_version" : 2,
"description" : "It changes Youtube HTTP host to HTTPS",
"browser_action": {
"default_icon": "icon.png"
},
"content_scripts": [
{
"matches": ["file:///*/*","http://*/*","https://*/*"],
"js": ["jquery.js", "youtube_host.js"]
}
]
}
这是我的youtube_host.js
/*
* Part of the Youtube Host Change Project.
* Author : Ahmad Faiyaz
*/
function change_links(){
var nodes = document.getElementsByTagName("a");
for(var i = 0; i < nodes.length; i++) {
var link= nodes[i].href;
link=link.replace("http://www.youtube","https://www.youtube");
nodes[i].href=link;
};
}
window.onload = change_links();
答案 0 :(得分:0)
我认为你需要写
...
link = link.replace("http://www.youtube","https://www.youtube");
...
string.replace
不会更改原始值,但会返回新的结果字符串。
答案 1 :(得分:0)
添加
后可以使用"permissions":["<all_urls>"]
到manifest.json
档。
最终manifest.json文件
{
"name": "Youtube Host Changer",
"version" : "1.0",
"manifest_version" : 2,
"description" : "It changes Youtube HTTP host to HTTPS",
"browser_action": {
"default_icon": "icon.png"
},
"content_scripts": [
{
"matches": ["file:///*/*","http://*/*","https://*/*"],
"js": ["jquery.js","youtube_host.js"]
}
],
"permissions":["<all_urls>"]
}
如果您需要更多信息,请与我们联系。