【问题标题】:Does Chrome stop certain javascript code from running because of its extensions?Chrome 是否会因为其扩展而停止某些 JavaScript 代码的运行?
【发布时间】:2012-05-31 04:54:40
【问题描述】:

我的页面中有一个小代码

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

....

   <body onload="Func1Delay()">

我在控制台中有这个错误提示

未捕获的类型错误:无法调用未定义的方法“创建”

在右边,这是由于 chrome 扩展 MeasureIt。当我禁用它时,我的脚本可以工作。这个问题有解决办法吗?

【问题讨论】:

  • 它如何“阻止”你的代码?
  • 我认为扩展可能与页面中的 JavaScript 发生冲突。如果您的代码不在页面中,是否还会出现错误?
  • 是的,我删除了 javascript 代码并将正文 onload ="functionDelay()" 留在那里。它仍然有那个错误。
  • 如果重命名该函数会发生什么?

标签: javascript google-chrome-extension


【解决方案1】:

简短的回答是肯定的。 但完整的答案是否定的,不是 Chrome,而是一些干扰您的代码的扩展程序。 例如:

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

2) 内容脚本可能会弄乱您页面的元素。它可以删除一些,并添加它的 owm。如果扩展添加一个 SCRIPT 元素,该元素的 var 或函数名称与您的完全相同?

我们无法确定扩展程序的代码写得有多“好”。

顺便说一句,有很多 Chrome 的扩展程序会干扰页面。几个月前,Chrome 的 Skype 扩展程序因干扰和破坏该浏览器中的网页和视频播放而被判有罪。

【讨论】:

  • 那个特定的扩展也破坏了对我的一个页面的访问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-07
相关资源
最近更新 更多