ReferenceError:找不到变量:_e_0uWl - 浏览器“中断”

时间:2013-04-22 16:06:47

标签: javascript safari referenceerror

我们在Safari 6.0.4上有一个非常奇怪的问题:

用户可以愉快地在我们的页面上浏览,突然他们在我们的所有页面上都能看到它:

  

ReferenceError:找不到变量:_e_0uWl

其他网站仍然可以正常使用。唯一要解决的是重启Safari 该网站建立在带有jquery等的asp.net上。 我们搜索了所有代码,找不到任何可以引用的内容:_e_0uWl

禁用所有扩展程序 令我感到困惑的是,这不只是在页面上发生,如果你搬走它再次起作用,不,一旦它被打破,它就会被打破。什么可以使浏览器这样做?

更新:这种情况再次发生几次,但使用不同的变量名称:

ReferenceError: Can't find variable: _e_028Y

我们甚至在Windows机器上使用Firefox。所以这不是Safari唯一的问题。

规格: IIS7上的ASP.NET 4.5,带有用于捆绑和缩小的MS Optimization Framework。 jQuery 1.9.2,Micosoft Ajax控件工具包。

2 个答案:

答案 0 :(得分:0)

作为一个非常快速的分析:

  • 它发生在几个浏览器上,因此它不是浏览器错误,而是代码中的错误。

  • 变量在代码中没有被硬引用,所以要么a)它是在你的代码被缩小/混淆时产生的(代码缩小了?)还是b)变量是运行时请求的,但确实是在代码中的任何地方都不存在,因此错误或c)它在某些外部库中。你使用那些吗?

  • 问题发生在某个时刻然后仍然存在。因此,a)服务器突然发送之前未发送的特定脚本标签或b)服务器突然在所有页面中发送一些客户端函数的数据或者c)你在localstorage中存储了一些东西,并且它已经坏了现在,它将被打破所有未来的页面重新加载。

现在逐一消除所有案例,您可能会找到答案。使用调试器!

答案 1 :(得分:0)

@ my view:

首先如果可能的话,在启用或不启用调试的情况下在@localhost上运行此代码; 否则在不同的Web服务器或不同的Web场上运行

第二:如果此问题仍然存在,请检查问题发生的页面 一个高质量的调试是必要的,检查这个页面中是否有任何用户控件或此页面中的ajax(非阻塞)请求,请逐个禁用,最后检查是否有,因为这没有解决,请仔细检查javascripts ,如果有任何缩小或混淆,并尝试删除它。

注意:请在相同的运行时环境中构建和运行,请删除deploy / lib目录中的所有文件并进行干净的构建。