Bra*_*don 2 ios facebook-javascript-sdk
我们已经让Facebook在我们的主桌面应用程序上运行而没有任何问题.当我向移动网站添加相同的设置代码时,我收到了来自JavaScript SDK的错误:
Received message of type object from https://s-static.ak.facebook.com, expected a string
然后,我从此处将设置代码更改为完全复制:https://developers.facebook.com/docs/guides/mobile/web/并收到完全相同的消息.
此错误仅在Chrome开发者工具或iOS模拟器中用户代理为iOS或Android时显示.当它从桌面运行时,我们没有看到此错误.
知道这里发生了什么吗?
谢谢 :)
尽管如此,我相信bokonic的答案忽略了这一点.您收到的消息的直接原因很可能是javascript postMessage方法.它用于将您的网站与由其返回的对象window.open或iframe嵌入式网站进行通信.
window.parent.postMessage(message, targetOrigin);
Run Code Online (Sandbox Code Playgroud)
您可能希望查看本文以了解它的工作原理.
根据MDN参考,该postMessage方法的第一个参数可以是任何类型.仍然,在Gecko 6.0之前(Firefox 6.0/Thunderbird 6.0/SeaMonkey 2.3),message参数必须是一个字符串.
我在Chrome 28.0.1500.72(编写此答案时的最新版本)上测试了该方法,它在传递对象时工作正常,但仍然向控制台发出警告消息.我相信facebook会将一些丰富的数据作为字符串传递给他们感到不舒服,因此他们将其作为对象传递,并且根本不关心警告.或者,由于有一个解决方法(例如JSON.stringify),他们有一个他们不知道的错误.
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |