所以我是编写Chrome扩展程序的新手。到目前为止,我有一些非常简单的js作为content_script.js:
var links = document.getElementsByTagName("a");
for(var i=0;i<links.length;i++){
links[i].href = links[i].href.replace((www\.)?imgur.com\/gallery\/, i\.imgur\.com\/);
}
和我的manifest.json:
{
"manifest_version": 2,
"name": "Degallerify",
"description": "This extension will convert all instances of imgur.com/gallery/ links to direct links",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"http://*/*","https://*/*"
],
"content_scripts": [
{
"matches": [
"http://*/*","https://*/*"
],
"js": ["content_script.js"]
}
]
}
前提很简单,只需将所有imgur.com/gallery/链接替换为直接图像链接即可。我通过在线正则表达式比较检查了正则表达式,它非常匹配。
但是,当我加载扩展程序时,它什么也没做。
This is an example of a page with gallery links
当我加载扩展并刷新页面时,所有链接仍然是图库链接。我的正则表达式不正确吗?我需要为JS做些不同的事情吗?
谢谢!
最佳答案
i
没有连接到替换字符串,替换字符串没有用引号引起来; .
和/
不需要转义。尝试将i
连接到替换字符串,并删除.
和/
字符的转义符,并用引号引起来。
links[i].href = links[i].href.replace((www\.)?imgur.com\/gallery\/
, i + ".imgur.com");
关于javascript - Chrome扩展程序将所有链接替换为自身的略微修改版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36962067/