Javascript 慢加载技术

标签 javascript

我正在尽我所能学习 javascript 中的慢速加载技术(如此处所述:http://www.obviously.com/tech_tips/slow_load_technique),以制作近乎实时的聊天应用程序等。

我知道 facebook 也用它来聊天。它首先调用此 url:http://0.1.channel.facebook.com/x/a_bunch_of_parameters这会持续很长时间,并带有连接:keep-alive。然后它突然返回这个 javascript:

for (;;);{"t":"continue"}

我没有登录聊天,所以它显然不包含任何聊天数据,但我想知道处理结果的周围 javascript 会是什么样子。可能它解析 json 并看到 t-key 具有继续的值。无限的 for 循环会完成什么?

Facebook 页面有一个巨大的 javascript 调用堆栈,所以我无法浏览它。有人能猜到或有人知道吗?提前致谢!

最佳答案

请看这里:How to restrict JSON access?

无限循环是一种防止外部资源调用脚本的措施。如果我想从我的站点调用该链接,我必须使用

<script src="http://0.1.channel.facebook.com/x/a_bunch_of_parameters"></script>

这将立即开始无限循环。我无法获得 Facebook 返回的实际消息。

facebook 可以使用 XMLHttpRequest 从该地址提取并在评估响应消息之前解析出无限循环代码。由于跨域安全性,我不能从我的站点执行此操作。

对于 facebook 的使用,消息可能类似于

for (;;);
{ 
   "msg" : {

      "from" : "lincolnk",
      "content": "derp!"
    }
}

他们会解析出包含其他人编写的任何内容的 javascript 对象并将其显示给您。

关于Javascript 慢加载技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3892347/

相关文章:

javascript - 单击按钮时阻止 Javascript 事件

php - 如何在 PHP 中实现这个歌词 API?

javascript:在调用之间保存变量的值?

javascript - 根据 ln # 和字符 # 查找并更改字符串中的文本

javascript - 如何将 mouseenter() 或 mouseleave() 添加到同一类的多个元素?

javascript - 为什么一个值在其自己的范围内重新分配时会变为未定义?

javascript - 部分View的JQuery中无法通过ViewBag发送参数。

javascript - 按选项值订购商品

javascript - 如何保证一个元素有一个特定的高度

javascript - 两个 onClick() 事件同时发生?