我们在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控件工具包。
答案 0 :(得分:0)
作为一个非常快速的分析:
它发生在几个浏览器上,因此它不是浏览器错误,而是代码中的错误。
变量在代码中没有被硬引用,所以要么a)它是在你的代码被缩小/混淆时产生的(代码缩小了?)还是b)变量是运行时请求的,但确实是在代码中的任何地方都不存在,因此错误或c)它在某些外部库中。你使用那些吗?
问题发生在某个时刻然后仍然存在。因此,a)服务器突然发送之前未发送的特定脚本标签或b)服务器突然在所有页面中发送一些客户端函数的数据或者c)你在localstorage中存储了一些东西,并且它已经坏了现在,它将被打破所有未来的页面重新加载。
现在逐一消除所有案例,您可能会找到答案。使用调试器!
答案 1 :(得分:0)
@ my view:
首先如果可能的话,在启用或不启用调试的情况下在@localhost上运行此代码; 否则在不同的Web服务器或不同的Web场上运行
第二:如果此问题仍然存在,请检查问题发生的页面 一个高质量的调试是必要的,检查这个页面中是否有任何用户控件或此页面中的ajax(非阻塞)请求,请逐个禁用,最后检查是否有,因为这没有解决,请仔细检查javascripts ,如果有任何缩小或混淆,并尝试删除它。
注意:请在相同的运行时环境中构建和运行,请删除deploy / lib目录中的所有文件并进行干净的构建。