【发布时间】:2011-07-08 19:06:07
【问题描述】:
当您使用 Chrome 打开网站时,它会在状态栏中显示一条消息,告知“正在等待 MyHost 名称”,并且它会在选项卡的标题中显示 Ajax Loader 圆圈。现在我有以下 javascript 函数:
function listen_backend_client_requests() {
$.get('/listen?cid=backend_client_requests', // an url to nginx http push channel, http connection stays opened for a long time until the actual data starts to arrive
{},
function(r) {
alert('check');
if (r == 'report_request') {
report_request();
}
listen_backend_client_requests();
}
, 'json');
}
“$.get(...)”操作是“长轮询”(通过 nginx http push 模块)。它不会立即接收数据,而是等待数据发布到通道。在这段时间内(可能需要长达 15 分钟),Chrome 会在窗口的左下方显示“等待我的主机名”,并且还会显示 Ajax Loader 圆圈。我不希望它们不在 Chrome 中显示,但也不在任何其他浏览器中显示,我不知道该怎么做...
附言
顺便说一句,我知道谷歌文档使用相同的方案,但他们的网站如何导致浏览器不显示消息。有什么建议吗?
【问题讨论】:
-
恕我直言,这是个坏主意。如果一个网页可以控制,我的浏览器给出的状态信息,我可以在不让他知道的情况下将大量数据下载到用户的 PC 上。 My Operas 默认设置甚至不允许更改状态栏内容。也没有任何其他“奇怪”的脚本操作,例如替换上下文菜单或更改窗口大小……我是用户 - 并且它是我的浏览器,所以让他告诉我发生了什么!
-
浏览器显示页面上有一些活动,当没有活动时......
标签: javascript html ajax browser google-chrome