javascript - 好奇 : what is this syntax that Facebook's polling services is using during the callback

标签 javascript ajax facebook polling feed

我正在观看 Chrome 开发者工具上的网络监视器,了解 Facebook 如何更新其新闻源中的内容。

来自 AJAX 的所有响应均以以下内容开头:

for (;;);{"__ar":1,"payload":[]}

for(;;); 部分在做什么?

这是他们自定义 JS 框架的一部分吗?或者这是本地人,只是我不熟悉的东西?

当我预览它时,它似乎正在作为 json 对象加载。

最佳答案

这似乎是内容保护 (DRM) 方面的蹩脚尝试。 for() 循环基本上是无限的。其意图似乎是,任何天真地使用 JavaScript 获取 AJAX 请求的人最终都会得到因无限循环而挂起的代码。

for() 循环还会为标准 JSON 解析器生成错误,例如 jQuery 或 YUI 甚至 JSON.org 中的解析器。要使用该请求,您需要编写自己的解析器或首先从请求中删除 for() 循环。

这就是为什么我说这看起来很蹩脚。因为用一些代码从字符串中删除 for() 循环并不困难。

关于javascript - 好奇 : what is this syntax that Facebook's polling services is using during the callback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564309/

相关文章:

javascript - 在媒体查询的帮助下按下按钮后,无法在导航栏中重新出现隐藏的 div

javascript - 单个容器上的多个下拉列表不会相互干扰

php - 表单、AJAX 和 PHP

javascript - ASP.NET MVC 和 WebAPI 使用数据库表插入和检索记录

javascript - 在 Angular 中的 Controller 之间绑定(bind)数据

javascript - 由 jquery 函数填充的文本框需要小数

ajax - 构建功能类似于单页网站的多页网站是否存在限制?

php - 不同时间段的单独组结果

Facebook 应用 : Getting a user's name from ID

ios - 通过 facebook 登录到其他网站 - IPHONE