javascript - 使用来自 Facebook 的 JavaScript 方法

标签 javascript json facebook

<分区>

我从 Facebook 找到了这段代码。我想以这种方式使用结构。我该如何使用这个方法?

   for (;;);{"__ar":1,"payload":null,"css":["wOyD6","Dk+z9","uUZcv"],"js":["TNp9j","12BHN"],"onload":["(function(){var k=Arbiter.subscribe(\"xhpc\\\/construct\\\/\"+this.id,function(_,c){(function(){Arbiter.unsubscribe(k);}).defer();c.mutate({\"xhpc\":\"u598502_6\",\"endpoint\":\"\\\/ajax\\\/questions\\\/save.php\",\"formType\":1,\"inputHidden\":true,\"placeholder\":\"Bir \\u015fey sor...\",\"buttonLabel\":\"Payla\\u015f\",\"blurb\":\"\\u003ca class=\\\"addPollOptionsLink\\\" rel=\\\"async\\\" ajaxify=\\\"\\\/ajax\\\/questions\\\/show_poll_composer.php?xhpc_ismeta=true\\\">Anket \\u015e\\u0131klar\\u0131 Ekle\\u003c\\\/a>\",\"content\":\"\\u003cdiv class=\\\"webComposerQuestion\\\">\\u003cinput type=\\\"hidden\\\" autocomplete=\\\"off\\\" name=\\\"source\\\" value=\\\"composer\\\" \\\/>\\u003cdiv class=\\\"mas\\\">\\u003ctextarea class=\\\"DOMControl_placeholder uiTextareaNoResize uiTextareaAutogrow questionInput fluidInput\\\" title=\\\"Bir \\u015fey sor...\\\" spellcheck=\\\"true\\\" name=\\\"question\\\" maxlength=\\\"500\\\" placeholder=\\\"Bir \\u015fey sor...\\\" id=\\\"u614163_1\\\" onfocus=\\\"return wait_for_load(this, event, function() &#123;if (!this._has_control) &#123;  new TextAreaControl(this).setAutogrow(true);  this._has_control = true; &#125; &#125;);\\\">Bir \\u015fey sor...\\u003c\\\/textarea>\\u003c\\\/div>\\u003c\\\/div>\",\"hideTopicTagger\":true});c.subscribe(\"init\", new Function(\"onloadRegister(function (){Input.enableAutoCapitalize($(\\\"u614163_1\\\"), \\\"\\\");});\\n\"));});;}).apply(DOM.find(this.getRelativeTo(),\"^div.uiComposer\"))"],"bootloadable":{"maxlength-form-listener":["LayX0","nO1QQ","12BHN"]},"resource_map":{"wOyD6":{"type":"css","src":"https:\/\/s-static.ak.facebook.com\/rsrc.php\/v1\/yC\/r\/Zg0ARUxUS6N.css"},"Dk+z9":{"type":"css","src":"https:\/\/s-static.ak.facebook.com\/rsrc.php\/v1\/yw\/r\/q4nJ2ZkJtyT.css"},"uUZcv":{"type":"css","permanent":1,"src":"https:\/\/s-static.ak.facebook.com\/rsrc.php\/v1\/yO\/r\/4okS7_KFNGX.css"},"TNp9j":{"type":"js","src":"https:\/\/s-static.ak.facebook.com\/rsrc.php\/v1\/yo\/r\/8rrAXwg5z80.js"},"12BHN":{"type":"js","src":"https:\/\/s-static.ak.facebook.com\/rsrc.php\/v1\/yg\/r\/jkR6Xtb9PGX.js"},"LayX0":{"type":"js","src":"https:\/\/s-static.ak.facebook.com\/rsrc.php\/v1\/yn\/r\/HT0e0kw4zvt.js"},"nO1QQ":{"type":"js","src":"https:\/\/s-static.ak.facebook.com\/rsrc.php\/v1\/y8\/r\/Cu4Eol99gUR.js"}}}

最佳答案

目前尚不清楚您到底在问什么。您不能“运行”此代码,它是一个 JSON 字符串。如果你想访问数据,你需要以某种方式解析它,例如 jquery 中的 parseJSON。

我怀疑您可能被领先的 for (;;); 字符串绊倒了。这是一个保护装置,可以防止人们简单地使用 eval() 来处理数据。使用 eval() 是一种将 JSON 直接解析为 javascript 变量的旧的快速而肮脏的方法,但这是一种不安全的做法。为了防止它,Facebook 在字符串的前面添加了 for 循环代码,这样如果您尝试对它求值,您只会得到一个无限循环和一个挂起的浏览器。您当然可以从字符串中删除该部分,然后无论如何都使用 eval,但是正确解析它会好得多。

关于javascript - 使用来自 Facebook 的 JavaScript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541770/

相关文章:

ios - iOS 上的 Facebook 分享对话框 : "Publish" button always greyed out

facebook - 交互式 Facebook 应用程序开放图对象

javascript - 在鼠标悬停 <li> 时显示 Div 但如果鼠标悬停在另一个 li 上则隐藏 div 并显示正确

json - 为什么 Elasticsearch 批量 API 无法解析我的 JSON?

javascript - 来自 PHP JSON 的数据未显示在 Chart JS 中

json - 是否有用于 Camunda Rest 响应的 Java 类?

css - 从 CSS 样式表覆盖 Facebook 好友选择器的宽度

javascript - Jquery 悬停在 html 中不起作用

javascript - 使用 "canvas.toblob()!"后文件名发生变化

javascript - Jest 和 ESLint : Expect must have a corresponding matcher call