window.focus(),self.focus()无法在firefox中运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.focus(),self.focus()无法在firefox中运行相关的知识,希望对你有一定的参考价值。

大家好我正在开发一个聊天应用程序...我有多个聊天窗口...我想知道哪个windw包含新消息...我有以下代码..

function getCount()
{
    $.ajax({
       type: "POST",
       url: baseUrl + '/Chat/count',
       data: "chat_id=" + document.ajax.chat_id.value,
       success: function(msg){
                if(msg == 'new1') {
                    self.focus();
                                            //window.focus();

                }
            }
    });
}

如果操作员同时参加聊天....

例如,网址就像http://localhost/nisanth/admin/Chat/index/chatId/15 http://localhost/nisanth/admin/Chat/index/chatId/16

http://localhost/nisanth/user/Chat/index/chatId/15 http://localhost/nisanth/user/Chat/index/chatId/16

如果user 16输入消息我需要关注

http://localhost/nisanth/admin/Chat/index/chatId/16

这段代码可以正常使用IE而不是在Firefox中...请给我一个解决方案...上面的代码是在相同的html

答案

如果设置了安全选项,Firefox将仅服从引发窗口的请求,并且默认情况下不设置它。据我所知,Chrome根本不会关注focus()请求。 Safari确实服从focus()请求。

具体的Firefox设置位于“工具” - >“选项”(Linux上的“编辑 - >首选项”,可能是MacOS)对话框中。有一个“内容”选项卡,其中有一个用于启用javascript的复选框。除此之外还有一个“高级”按钮,它会弹出另一个对话框,其中一个按钮可以找到一个复选框,允许(或禁止)按页面代码升高和降低窗口。

编辑:这是一个测试页面:http://gutfullofbeer.net/focus1.html,你应该能够看到当页面调用window.focus()时Firefox会引发一个窗口。您必须设置浏览器,以便在新的单独窗口而不是选项卡中打开新窗口(使用window.open()创建),否则您可以在打开时撕下辅助页面的选项卡。

另一答案

我有同样的问题,我虽然我的JS脚本有问题,经过长时间的搜索,我找到了一个解决方案:

1)在新选项卡中,在地址栏中键入about:config,然后按“Enter”按钮。点击“我接受风险!”按钮为了确认警告

2)在搜索字段中,键入dom.disable以获取dom.disable_window_flip

3)如果属性dom.disable_window_flip为true,请双击它以将值从true切换为false

以上是关于window.focus(),self.focus()无法在firefox中运行的主要内容,如果未能解决你的问题,请参考以下文章

Blazor Web Assembly 中的 window.focus/blur 事件

C# winform里头插入了一个Webbrowser,browser载入一个网页a.html,a.html里头有onload="self.focus"。

如何使 WPF 窗口在任务栏上闪烁?

试图打开自定义链接的问题

Chrome 桌面通知点击关注内容

Wordpress如何通过添加额外的html属性来修改页面的<body>标签