gpt4 book ai didi

jquery - 无法在 Chrome 扩展的 content_script 中加载 jquery 文件

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

我是这个 chrome 扩展插件开发的新手。我正在使用这个 chrome 扩展开发一个新的插件。

我的要求是在没有该 js 文件时将 jquery.js 文件加载到内容脚本中(例如:我正在检查 jquery.js 文件、fancybox.js 文件,如果不存在则加载这些文件。 )

当我在内容脚本中实现此逻辑时,它正在加载 jquery.js 文件。之后它就无法在内容脚本中工作。它显示 $(or) jQuery 未定义。每次加载但不在内容脚本中执行时。

这是我实现的代码。

document.getElementById('someid').onclick = loadJs();

function loadJS() {
if(tyof jQuery == undefined || tyof jQuery != 'function' )
{
var jqscript = document.createElement('script');
jqscript.type = 'text/javascript';
jqscript.async = true;
// Src of the script
jqscript.src = "......url to jquery.js file..............";

// Check whether script is loaded or not
jqscript.onload=function(){
if ((!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
console.log("Script loaded - ");
// It is showing error here
alert(typeof jQuery);

}
};

// Get the document header
var head = document.getElementsByTagName('head')[0];
// Add script to header - otherwise IE complains
head.appendChild(jqscript);

}
}

请就此提出建议。

谢谢。

最佳答案

Chrome 扩展程序无权访问网页加载和使用的脚本。

Google 称此为孤立世界:

http://code.google.com/chrome/extensions/content_scripts.html

你不能...

Use variables or functions defined by their extension's pages

Use variables or functions defined by web pages or by other content scripts

所以,有什么脚本并不重要。重要的是您在 list 中包含所需的脚本:

"content_scripts": ['jquery.js', 'myScript.js', 'optionsScript.js'],

列表的顺序很重要,因此如果您的脚本使用 jquery,则 jquery.js 应位于其前面。

关于jquery - 无法在 Chrome 扩展的 content_script 中加载 jquery 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4658143/

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