Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌浏览器用户脚本不';我不能正常工作_Javascript_Google Chrome_Userscripts - Fatal编程技术网

Javascript 谷歌浏览器用户脚本不';我不能正常工作

Javascript 谷歌浏览器用户脚本不';我不能正常工作,javascript,google-chrome,userscripts,Javascript,Google Chrome,Userscripts,我已经为Google Chrome编写了一个小的用户脚本。它工作得很好,直到我调用一个函数initTimer()我的脚本中没有这样的函数,但它在运行userscript的页面中的脚本中,但无论如何都有一个错误initTimer()未定义。我试图编写window.initTimer(),但它说Object[Object DOMWindow]没有方法“initTimer”。那么我怎样才能让它工作呢? 提前感谢因为用户脚本通常是从浏览器环境的其余部分进行沙盒处理的,因此出于安全原因,用户脚本不能与页面

我已经为Google Chrome编写了一个小的用户脚本。它工作得很好,直到我调用一个函数
initTimer()
我的脚本中没有这样的函数,但它在运行userscript的页面中的脚本中,但无论如何都有一个错误
initTimer()未定义
。我试图编写
window.initTimer()
,但它说
Object[Object DOMWindow]没有方法“initTimer”
。那么我怎样才能让它工作呢?

提前感谢

因为用户脚本通常是从浏览器环境的其余部分进行沙盒处理的,因此出于安全原因,用户脚本不能与页面上运行的脚本交互,页面上运行的脚本也不能与用户脚本交互

您必须为此执行脚本注入,方法是在页面本身中创建一个
script
元素,其中包含要执行的代码

var s = document.createElement('script');
s.innerHTML = 'initTimer();';
document.body.appendChild(s);

问题在于,注入的代码无法直接与沙箱中的代码通信,因此您必须注入所有代码,或者在需要时使用其他方法进行通信,这可能会破坏您的脚本,也可能不会破坏您的脚本

谢谢大家!!我已经将整个脚本注入到网页中,现在它可以工作了!再次感谢!