2

我们在 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 优化框架。jQuery 1.9.2,Micosoft Ajax 控制工具包。

4

2 回答 2

0

@ 我的观点 :

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

第二:如果问题依然存在,请检查是哪个页面或哪些页面出现问题需要高质量调试,检查该页面是否有用户控件或该页面是否有ajax(非阻塞)请求,请一一禁用,最后检查是否有,因为这不能解决,请仔细检查 javascripts,如果有任何缩小或混淆并尝试删除它。

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

于 2013-05-01T15:53:32.910 回答
0

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

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

  • 该变量在您的代码中没有硬引用,因此a)它是在您的代码被缩小/混淆时生成的(代码是否被缩小?)或b)该变量是在运行时请求的,但它确实不存在于您的代码中的任何地方,因此错误或 c)它在某个外部库中。你用那些吗?

  • 问题发生在某个时刻,然后持续存在。因此,要么a)服务器突然发送以前未发送的特定脚本标签,要么b)服务器突然在所有页面中发送一些数据,导致客户端功能跳闸,或者c)你在本地存储中存储了一些东西,它坏了现在,它将在所有未来的页面重新加载中被破坏。

现在将所有情况一一排除,您可能会找到答案。使用调试器!

于 2013-05-01T14:22:07.117 回答