单击页面上的任何链接时,IE浏览器窗口将转到后台

时间:2014-06-23 13:48:39

标签: javascript html internet-explorer requirejs

我在使用Internet Explorer 9和10时遇到了非常奇怪的问题。我有一个Web应用程序,当我单击页面的任何链接时,Internet Explorer进入后台(后台意味着任何其他打开的窗口,如chrome,文件资源管理器) ,skype出现在前面,IE进入后台。

这很奇怪,我不知道如何做到这一点。

链接示例如下:

<a class="menu_public" href="/portal/c/portal/login?p_l_id=11012">Home</a>

任何线索?

更新

我找到了原因,但不知道如何处理

根本原因是包含require.js,这是我在html <head>标记中的插入语句。

<script data-main="scripts/config" type="text/javascript" src="scripts/libs/requireJS_2.1.5.js"></script>

当我删除此语句时,IE工作正常。我需要这个JS包含,所以任何人都可以告诉我应该如何解决?

更新

我发现define()调用正在创建此问题,我尝试逐个删除定义,并发现仅当我拥有自定义对象依赖项时才会发生。

所以,我的define()块看起来像

define(['jquery', 
        'collection/Button', 
        'collection/Tutorial', 
        'collection/Notification', 
        'collection/Tooltip', 
        'component/Navigation', 
        'xxx/utils'], function($) {

});

define()中只有'jquery'时,它完全正常。所有其他人都做了这种奇怪的行为。

1 个答案:

答案 0 :(得分:0)

是的我找到了解决方案,因为我在javascript中的某处有以下代码

$(document.activeElement).blur();

将其更改为

$(document.activeElement).not('body').blur();

其他一切都应该没问题。

在这里查看http://tjvantoll.com/2013/08/30/bugs-with-document-activeelement-in-internet-explorer/