jQuery没有';在https页面上的Chrome扩展中使用时无法工作
我正在试我的手在一个铬扩展。在“常规”页面上,我似乎可以获取我需要的任何东西(例如,jQuery没有';在https页面上的Chrome扩展中使用时无法工作,jquery,https,google-chrome-extension,Jquery,Https,Google Chrome Extension,我正在试我的手在一个铬扩展。在“常规”页面上,我似乎可以获取我需要的任何东西(例如,('.myclass')) 在https页面上,它返回null。如前所述,我正在从扩展文件夹加载jQuery。我原以为我的扩展代码有问题,但在“常规”页面(如SO主页)上运行$(this)会返回所有属性/方法,但在https页面上,这会返回null jQuery没有被注入到页面中吗 FTR:我正在处理的https页面是谷歌Adsense。下面是我的manifest.json上的部分: "background_p
('.myclass')
)
在https页面上,它返回null。如前所述,我正在从扩展文件夹加载jQuery。我原以为我的扩展代码有问题,但在“常规”页面(如SO主页)上运行$(this)
会返回所有属性/方法,但在https页面上,这会返回null
jQuery没有被注入到页面中吗
FTR:我正在处理的https页面是谷歌Adsense。下面是我的manifest.json
上的部分:
"background_page": "ga.html",
"content_scripts": [
{
"matches": ["https://www.google.com/adsense/*"],
"js": ["jquery.js", "cnt.js"]
}
],
"permissions": ["https://www.google.com/adsense/*"]
要从注释中添加:My cnt.js仅包含以下内容:
$(document).ready(function(){
alert('Hi!');
});
奇怪的是,Adsense页面在页面加载完成之前会弹出警报,而对于其他页面,在加载完成之后会弹出警报您可以尝试在文档末尾插入页面吗?也许adsense与jQuery之间存在冲突?您可以在控制台中进行检查,看看是否已经映射了$mapped 现在,请尝试添加文档结尾:
"background_page": "ga.html",
"content_scripts": [{
"matches": ["https://www.google.com/adsense/*"],
"js": ["jquery.js", "cnt.js"],
"run_at": "document_end"
}],
"permissions": ["https://www.google.com/adsense/*"]
据我所知,扩展在谷歌页面上不起作用。。。或者可能只是它们在扩展库页面中不起作用。。。无论哪种方式,您都可能希望检查它们在扩展库页面上不起作用,我会在你的
标签上查看jquery文件的src,它也可能需要更改为https
,而不是普通的http
:)否则使用CDN我会亲自检查firebug,如果jquery文件已成功加载并且不是空的:)我没有adsense帐户,但我尝试了它https://www.google.com/analytics/
而且它起作用了。@Serg-没有骰子,即使在分析上它也不起作用,谢谢,但它不起作用:(我如何验证任何已映射的$。
?在adsense web inspector中键入“$”。在cnt.js中,只需输入警报('ping'),重新加载扩展名,然后查看访问*时是否会显示警报。谢谢。我注意到警报在加载Adsense页面之前弹出,但是对于其他网站,警报在页面加载后弹出。警报已添加到我的cnt.js中,从现在起,它包含$(document).ready(function(){alert('Hi!';});