如何从chrome扩展调用网页上的javascript函数?

如何从chrome扩展调用网页上的javascript函数?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,每个网页都有一个包含此代码段的网站: var站点; 刷新间隔; 函数刷新站点间隔{ refreshSite=setInterval 函数{document.location=document.location;}, 420000; }; 功能停止刷新站点{ 空地; } 从javascript控制台调用stopRefreshSite可停止定时刷新 我想使用chrome扩展名禁用此定期刷新。我认为在页面加载时调用stopRefreshSite的内容脚本是有意义的,尽管因为内容脚本在一个孤立的世界中执

每个网页都有一个包含此代码段的网站:

var站点; 刷新间隔; 函数刷新站点间隔{ refreshSite=setInterval 函数{document.location=document.location;}, 420000; }; 功能停止刷新站点{ 空地; } 从javascript控制台调用stopRefreshSite可停止定时刷新

我想使用chrome扩展名禁用此定期刷新。我认为在页面加载时调用stopRefreshSite的内容脚本是有意义的,尽管因为内容脚本在一个孤立的世界中执行,这似乎是不可能的


有没有办法调用网页函数?或者首先尝试阻止原始javascript运行是一种更好的策略吗?

要在页面上执行脚本,您必须在其中插入一个脚本元素,这很容易完成,并在下面的回答中介绍:

就你而言:

var script = document.createElement('script');
script.textContent = "stopRefreshSite()";
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);

…尽管我无法立即找到任何理由来选择document.head而不是使用document.documentElement。我已经在:document\u end添加了带有run\u的脚本,并且当脚本确实在运行时,我找不到注入的脚本元素。我开始调试…@DavidResnick:注意上面的最后一行:我们在添加它之后删除它,因为它添加的是运行它包含的代码的。如果你愿意,你可以把那句话删掉。是的,我看着那句话搔了搔头;非常感谢你的帮助@传奇:在今天的现代浏览器上,是的。不是在IE11上。我甚至不知道2015年的支持情况如何。