gpt4 book ai didi

javascript - Chrome 插件替换 Facebook 上的字符串不起作用?

转载 作者:行者123 更新时间:2023-12-01 04:04:02 24 4
gpt4 key购买 nike

我在 Chrome 扩展程序中使用以下 JavaScript Web Override尝试替换所有 Facebook 页面上的某些文本,但不起作用。

document.addEventListener('DOMContentLoaded', function() {
document.body.innerHTML = document.body.innerHTML.replace('Friend Name', 'Silly Nickname');
}, false);

setTimeout(function(){
document.body.innerHTML = document.body.innerHTML.replace('Friend Name', 'Silly Nickname');
}, 3000);

如果我在页面加载后在控制台中手动运行replace函数,它就会达到我的预期。为什么不自动运行?我收到的唯一控制台错误如下,但我认为它与此插件/代码无关,因为它不应该加载 jquery。

Refused to load the script 'https://code.jquery.com/jquery-3.1.1.min.js' because it violates the following Content Security Policy directive

不幸的是,我无法确定,因为来源是 VM1771:7

如果 JQuery 的事情,我能做些什么吗?如果不是,代码有什么问题?

最佳答案

String.prototype.replace期望字符串或正则表达式作为第一个参数,如果是字符串,它仅替换第一次出现的情况。这种情况可能出现在某些元数据、类名等中。

如果您希望替换所有出现的内容,则应使用正则表达式选项:

document.body.innerHTML = document.body.innerHTML.replace(/Friend Name/g, 'Silly Nickname');

此处的 g 标志表示“全局”,即将其应用于所有出现的情况。您还可以使用 gi 来不区分大小写。

关于javascript - Chrome 插件替换 Facebook 上的字符串不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41968873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com