前段时间在用谷歌插件写抢购脚本时发现,无法在脚本文件中对window.alert重新赋值来阻止页面alert弹框
window.alert = function alert(msg) {
console.log(msg)
}查阅资料发现,Chrome Extensions在一个单独的环境中运行,限制了对实际window对象的访问,并提供了仅对扩展有效的副本.
为了解决这个问题,我们可以将脚本元素直接注入到文档中.这样,您可以访问文档的环境和真实window对象.
var disablerAlert = function () {
window.alert = function alert(msg) {
console.log(msg)
}
}
var disablerCode = "(" + disablerAlert.toString() + ")();"
var disablerScriptElement = document.createElement('script')
disablerScriptElement.textContent = disablerCode
document.documentElement.appendChild(disablerScriptElement)
disablerScriptElement.parentNode.removeChild(disablerScriptElement)通过这种方式,就可以直接修改页面window对象属性了。
| 留言与评论(共有 0 条评论) “” |