最近想写一个chrome扩展程序,需要在chrome扩展程序中引入jquery。
网上搜索了一下,大部分都是这么说的,在manifest.json中加入以下代码,
“content_scripts”:[
{
“matches”:["?//*"],
“js”:[“jquery.js”],
“all_frames”:true,
“run_at”:“document_end”
}
然后,我引入之后,发现并没有效果。进一步测试,在jquery中加入代码console.log(“jquery run”);
发现jquery确实引入了,但是用$来选择的时候没有用。(具体原因还不清楚,以后有空研究吧。)
实在没办法,只好重新创建一个script元素,插入到html里。
var importJs=document.createElement(‘script’) //在页面新建一个script标签
importJs.setAttribute(“type”,“text/javascript”) //给script标签增加type属性
importJs.setAttribute(“src”, ‘https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js’) //给script标签增加src属性, url地址为cdn公共库里的
document.getElementsByTagName(“head”)[0].appendChild(importJs)
再将这段代码引入到contentscript中,用$选择,bingo,生效了。