我正在做一个扩展来自定义谷歌的主页背景。所以我在清单中写了一些匹配规则,如下所示:
"content_scripts": [
{
"matches": ["https://www.google.com/", "http://www.google.com/"],
"js": ["static/js/jquery.js", "static/js/contentscript.js"]
}
],
和一些脚本contentscript.js
:
var imgURL = chrome.extension.getURL("static/images/bg.jpg");
$('body').css('background-image', 'url(' + imgURL + ')');
该脚本适用于https://www.google.com,但是当我尝试搜索某些内容时,页面会跳转到https://www.google.com/#newwindow=1&sclient=psy-ab&q=Google&oq=Google&gs_l= hp.3..35i39l2j0i20l2j0l6.4788.5717.2.5939.5.3.2.0.0.0.142.397.0j3.3.0....0.0..1c.1.20.hp.xCFVga8gVZU&bav=on.2,or.r_cp.r_qf.&bvm=bv .49784469%2Cd.dGI%2Cpv.xjs.s.en_US.MpiVkF51mpA.O&fp=806ba48f5b2ed550&biw=1920&bih=963
但是跳转后脚本仍然有效!如果我直接将长网址粘贴到新标签中,它将无法正常工作!
我认为它应该与 iframe 或 Ajax 或其他东西有关。有人可以提供更多细节吗?以及如何防止在 url 更改后运行脚本?