大家好我正在开发一个聊天应用程序...我有多个聊天窗口...我想知道哪个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中
答案 0 :(得分:11)
如果设置了安全选项,Firefox将仅服从引发窗口的请求,并且默认情况下不设置它。据我所知,Chrome根本不会关注focus()请求。 Safari确实服从focus()请求。
特定的Firefox设置位于“工具” - > “选项”(Linux上的“编辑 - >首选项”,可能是MacOS)对话框。有一个“内容”选项卡,其中有一个用于启用Javascript的复选框。与一起是一个“高级”按钮,它会显示另一个对话框,其中一个复选框可以通过页面代码找到允许(或禁止)窗口升高和降低的复选框。
编辑:这是一个测试页:http://gutfullofbeer.net/focus1.html,当页面调用{{1}时,您应该可以看到Firefox 将引发一个窗口}}。您必须设置浏览器,以便在新的单独窗口而不是选项卡中打开新窗口(使用window.focus()
创建),否则您可以在打开时撕下辅助页面的选项卡。 / p>
答案 1 :(得分:0)
我遇到了同样的问题,尽管我的JS脚本有问题,但经过长时间的搜索后,我找到了解决方法:
1)在新标签中,在地址栏中输入 about:config ,然后按“ Enter”按钮。点击按钮“我接受风险!”为了确认警告
2)在搜索字段中,输入 dom.disable 以获取 dom.disable_window_flip
3)如果属性 dom.disable_window_flip 为true,则双击它以将值从true切换为false
答案 2 :(得分:0)
对于希望专注于某个选项卡的其他人,另一个选项卡(选项卡 A)可以将不同的选项卡(选项卡 B)置于最前面。
如果选项卡 B 的 window.name
是“myWindow123”,则在选项卡 A 中运行:
window.open('', 'myWindow123');
如果您想重新关注打开您的选项卡,请运行:
window.open('', window.opener.name);