Chrome扩展程序将所有链接替换为略微修改的版本
Chrome Extension to replace all links with slightly modified versions of themselves
所以我是编写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'/);
}
和我的清单.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/链接替换为直接图像链接即可。我用在线正则表达式比较检查了正则表达式,它完美匹配。
但是,当我加载扩展时,它不会执行任何操作。
这是包含图库链接的页面示例
当我加载扩展并刷新页面时,所有链接都保留为图库链接。我的正则表达式不正确吗?我需要为 JS 做一些不同的事情吗?
谢谢!
i
没有连接到替换字符串,替换字符串没有用引号括起来; .
和/
不需要逃逸。尝试将i
连接到替换字符串,删除.
和/
字符的转义,并用引号括起来。
links[i].href = links[i].href.replace((www'.)?imgur.com'/gallery'/
, i + ".imgur.com");
相关文章:
- 在Safari执行javascript之前对其进行修改
- JS编译器/包管理器,用于版本控制
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- Chrome加载旧版本的Javascript文件
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 用Javascript修改内部标记的CSS规则
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- 如何设置jsfiddle's的javascript版本
- 绑定Range输入以修改样式
- 可以从Chrome扩展修改窗口对象吗
- jQuery滚动器插件修改
- 同一HTML页面中的两个不同版本的JQuery
- Chrome扩展程序将所有链接替换为略微修改的版本
- 将FullCalendar修改为移动版本
- 创建一个脚本来创建一个链接,该链接是当前URL的修改版本
- 创建具有源对象中所有方法的修改版本的对象
- 修改NVM节点版本的Bash脚本
- 如何修改数组中的对象,然后返回该数组的新版本
- 为什么这个函数不修改数组的全局版本?