每个页面都有一个包含此代码段的网站:
var refreshSite;
refreshSiteInterval();
function refreshSiteInterval() {
refreshSite = setInterval(
function() { document.location = document.location; },
420000);
};
function stopRefreshSite() {
clearInterval(refreshSite);
}
从javascript控制台调用stopRefreshSite()
会停止定时刷新。
我想使用Chrome扩展程序禁用此定期刷新。我认为每当页面加载时调用stopRefreshSite()
的内容脚本都有意义,但因为内容脚本在隔离的世界中执行,这似乎是不可能的。
有没有办法调用网页功能?或者试图阻止原始javascript首先运行是一个更好的策略?
答案 0 :(得分:4)
要在页面上执行脚本,您必须在其中插入script
元素,这很容易完成并在此答案中涵盖:Building a Chrome Extension - Inject code in a page using a Content script。
在你的情况下:
var script = document.createElement('script');
script.textContent = "stopRefreshSite()";
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);