【问题标题】:Something overwrites window.onbeforeunload in JavascriptJavascript 中的某些东西覆盖了 window.onbeforeunload
【发布时间】:2015-02-27 15:20:40
【问题描述】:

大家好,

我的 ASP.NET 4.5 页面有一个奇怪的问题。出于某种奇怪的原因,每次加载页面时,我的 window.onbeforeunload 函数都会被覆盖。在调试器内部,我可以清楚地看到在我的 head 部分中设置了正确的值,如果我在那里放置一个断点。但是,在完成站点的加载过程后,该值将变为以下内容:

function (a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b}

我不知道这是从哪里来的。这是我在页面头部的代码:

window.onbeforeunload = function (e) { return 'Do you really want to cancel?'; };

我在我的项目中使用 JQuery 2.1.3 和 DevExpress 14.2。知道是什么导致了这种奇怪的行为吗?

提前致谢!

【问题讨论】:

  • 提示:js代码是做什么的?
  • 你看过这个帖子吗:stackoverflow.com/questions/7481048/…
  • @A.Abramov 不幸的是我不知道。然而,它似乎是 jQuery 的一部分。但我不知道它在哪里或为什么这样做。
  • @DavidTansey 感谢您与我分享链接。不,我还没有看到。但这篇文章并没有真正包含任何解决方案,只有两种解决方法。有没有办法真正解决错误?
  • 您尝试过发布的解决方案吗?

标签: javascript jquery asp.net onbeforeunload


【解决方案1】:

感谢@DavidTansey 的提示,我实际上找到了答案。这是 Visual Studio 2013 中引入的浏览器链接功能。看起来浏览器链接使用了一些旧的 jQuery 库并覆盖了各种处理程序。

因此,如果您遇到同样的问题,请尝试禁用该功能(菜单位于工具栏中的浏览器选项旁边)。这应该可以解决问题。

我很确定这个问题不会出现在真正的服务器上,因为它可能不会使用浏览器链接。

【讨论】:

  • 浏览器链接 -- uhhg.
猜你喜欢
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
相关资源
最近更新 更多