首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IE中重复警告"Message from web page: null“

在IE中重复警告"Message from web page: null“
EN

Stack Overflow用户
提问于 2012-03-31 04:26:12
回答 2查看 4.8K关注 0票数 4

我正在使用下面的jQuery代码启动一个覆盖div,它在Chrome和火狐中运行得很好--但在IE9中它会启动一个窗口“你想离开这个页面吗?”并且还说“来自网页的消息:空”。之后点击的每一个链接都会继续弹出窗口,直到你注销结束会话(这是一个基于Codeigniter的应用程序)

任何关于可能导致这种情况的洞察力都将不胜感激。

编辑:违规代码为:

window.onbeforeunload = function() { saveFormData();return false;}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-31 04:45:11

我不知道您的页面中的确切问题在哪里,但我相信您已经遇到了IEonbeforeunload事件的乐趣。

在Internet Explorer中,它将所有导航链接点击视为“离开”页面,因此,如果您定义了onbeforeunload事件,您将获得确认消息(假定您的代码,或者CodeIgnitor框架附加了一个处理程序)。

问题是,像这样的链接:

代码语言:javascript
复制
<a href="javascript:doSomething();">Do something on this page without leaving</a>

将触发IE相信用户正在离开页面。

我解决这个问题的方法是这样做的(虽然很难看,但很管用)。

在我的小页面(一个弹出窗口)中,在页面的4-5个“内部”链接上,我添加了一个CSS类:class="internal",然后在我的onbeforeunload事件中,我将检查触发该事件的源元素是否设置了类...如果是这样,“忽略”我的“你确定要离开吗?”键入警告...

然而,在一个“主”页面上有零星的100个和100个链接,这将是非常丑陋的尝试和实现。-祝你好运。

票数 4
EN

Stack Overflow用户

发布于 2013-11-22 17:20:59

Scunliffe的回答帮助我通过以下方式解决了这个问题-

在我所有JavaScript代码的末尾添加了下面这行代码。

代码语言:javascript
复制
window.onbeforeunload = function(){}

如果想要快速测试,可以在IE开发人员工具的控制台部分进行尝试。

同样,我不确定这将如何影响您代码中的内容。因此,如果有任何东西损坏,一定要正确地测试所有代码。将中断的代码可能与附加到页面unload或onbeforeunload事件的任何侦听器相关。在我的例子中,没有任何:)

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9949982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档