【发布时间】:2013-04-22 16:06:46
【问题描述】:
我们在 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 控制工具包。
【问题讨论】:
-
您是在使用用户控件,还是可能在页面请求上创建动态名称的 asp 控件?
-
我们正在使用用户控件,但是在扫描页面时我们无法在任何地方找到该变量。而且我不认为 asp.net 每天都会对变量进行不同的命名。
-
哦,您是否使用类似 asp 的输出缓存来缓存整个页面和/或特定的用户控件?变量名看起来肯定是系统生成的。
-
没有缓存,除了 javascript 文件的捆绑。但是我们确实遍历了所有这些,找不到对变量的任何引用。为什么这会突然发生,然后就一直存在?我们系统中的所有页面。
-
在 Safari 开发者工具中,单击按钮以“暂停所有异常”,这应该会将您带到代码中的问题区域。如果是缩小的库,可以美化打印后再试。
标签: javascript safari referenceerror