2012-05-31 47 views
6

我有我的网页小码Chrome是否因停止运行而停止运行某些JavaScript代码?

<script type="text/javascript"> 
function doPost() { 
document.forms["form"].submit(); 
} 
    function Func1Delay() 
{ 
setTimeout("doPost()", 0); 
} 

....

<body onload="Func1Delay()"> 

我有这样的错误控制台说

遗漏的类型错误:无法调用“创造”未定义的

在右侧,这是由于Chrome扩展MeasureIt引起的。当我禁用它时,我的脚本就起作用了。有没有解决这个问题的方法?

谢谢。

+0

它如何“阻止”你的代码? –

+1

我认为它可能是一个扩展与页面中的JavaScript发生冲突。如果您的代码不在页面中,错误是否仍然存在? –

+0

是的,我删除了JavaScript代码,并在那里留下了正文onload =“functionDelay()”。它仍然有这个错误。 – Matt

回答

3

简短答案是YES。 但是完整的答案是NO,它不是Chrome,而是一些干扰你的代码的扩展。 例如:

1)内容脚本可以添加侦听器并使用stopPropagation。在这种情况下,您的代码将不会收到该事件。我可以对内容脚本失败的更具体情况进行映像,因此可以阻止其他侦听器执行。

2)内容脚本可能会混淆您网页的元素。它可以删除一些,并添加其owm。如果扩展名添加了一个名为var或者函数的SCRIPT元素,其名称与您的名字完全相同,会发生什么?

我们无法确定扩展程序的代码是如何写入的。

顺便说一句,有很多Chrome的扩展会干扰页面。几个月前,针对Chrome浏览器的Skype扩展程序被认定为在该浏览器中存在干扰并破坏网页和视频播放的稳定性。

+0

这个特定的扩展也打破了我的网页之一。 – mdiener