javascript - 更改页面加载时的所有网址

标签 javascript greasemonkey

假设我有一个页面,我想在其中为每个 url(还有图像等)附加一个参数(例如 ?name=fc)。

我正在尝试使用正则表达式对 greasemonkey 执行此操作,但它似乎不起作用(即页面上的链接不会更改)。

这是我的代码

var txt = document.documentElement.innerHTML;
var exp = "/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig" ;
document.documentElement.innerHTML =( txt.replace(exp, "$1?name=fc"));

我的 JavaScript 知识几乎为零,所以请耐心等待。

那么问题来了,那个 JavaScript 有什么问题?

最佳答案

for(var i = 0; i < document.links.length; i++) {
 document.links[i].href += "?name=fc"
}

你应该只使用 document.links属性。这会将“?name=fc”附加到所有链接(a 和 img 等)。

关于javascript - 更改页面加载时的所有网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5425059/

相关文章:

javascript - Bootstrap 选项卡需要点击两次才能在 iPhone 上使用 Meteor 进行更改

javascript - 用户脚本通知适用于 Chrome 但不适用于 Firefox?

javascript - 如何让 Tampermonkey 脚本在 hashchange 事件后等待页面完成?

javascript - 类似 Greasemonkey 的 Firefox 插件,用于自动浏览

javascript - 使用 React 按下 Enter 键时单击链接

javascript - 如何计算前导零?

javascript - 访问 javascript d3 中的嵌套对象

jquery - 如何在 GM 脚本中添加 css 类?

javascript - onkeydown 在 Greasemonkey 中不起作用

javascript - 测试数组中key的值是否存在