为什么脚本只能为Chrome扩展程序运行一次?这是我们的代码:
inject.js
var s = document.createElement('script');
// TODO: add "script.js" to web_accessible_resources in manifest.json
s.src = chrome.extension.getURL('script.js');
s.onload = function() {
this.remove();
};
(document.head || document.documentElement).appendChild(s);
$( document ).ready(function() {
console.log("start")
//$("body").bind("DOMSubtreeModified", function() {
$("#btn").click(function(){
console.log("do something")
});
//});
});
每次点击#btn
时都会触发点击事件的预期行为,但是只有在页面重新加载并且后续点击不会触发可能存在的错误时才会生效?< / strong>
如果我们绑定到DOMSubtreeModified
,则每次都会触发click事件,但是有副作用,因为我们的实际代码调用ajax资源,绑定到DOMSubtreeModified
会连续触发ajax请求页面DOM更改。