gpt4 book ai didi

javascript - 如何确定脚本是否已从 Chrome 扩展程序注入(inject)到文档中

转载 作者:行者123 更新时间:2023-11-29 21:56:23 24 4
gpt4 key购买 nike

我正在编写一个 Chrome 扩展程序并使用以下代码从我的内容 js 中注入(inject)脚本。

function appendScript() {
var script = document.createElement('script');
script.setAttribute("type", "application/javascript");
script.textContent = "window.alert = function(msg) { stopOperation = true; var evt=document.createEvent('CustomEvent'); evt.initCustomEvent('StopOperation', true, true, ''); document.dispatchEvent(evt); return true; }; ";
document.documentElement.appendChild(script);
}

如何确保上述脚本只被注入(inject)一次?

最佳答案

只需为其添加一个 ID,然后在注入(inject)之前检查它是否已经存在,如果存在,则不要注入(inject)它:

这是一个示例:

function appendScript() {
var script = document.createElement('script');
script.id = "my-extension-script";
script.setAttribute("type", "application/javascript");
script.textContent = "window.alert = function(msg) { stopOperation = true; var evt=document.createEvent('CustomEvent'); evt.initCustomEvent('StopOperation', true, true, ''); document.dispatchEvent(evt); return true; }; ";
document.documentElement.appendChild(script);
}

var no_script = !document.getElementById("my-extension-script");

if (no_script) appendScript();

关于javascript - 如何确定脚本是否已从 Chrome 扩展程序注入(inject)到文档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26368874/

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