Facebook App在Chrome中不起作用,但在Firefox中起作用

时间:2012-12-21 19:12:43

标签: javascript facebook google-chrome firefox heroku

我刚开始使用heroku制作Facebook应用程序。我做了一个测试应用程序。我在heroku上传了一个使用HTML5,CSS和Javascript的页面。该应用未在Google Chrome https://apps.facebook.com/shrytestapp/中展示,但在Mozilla Firefox中运行良好。此外,在heroku服务器http://salty-shelf-6707.herokuapp.com/中打开页面时效果很好。

1 个答案:

答案 0 :(得分:5)

当您在Facebook中访问应用程序时,HTTPS会用于传输数据,但Chrome会阻止通过普通HTTP传送的内容,并坚持要求所有内容都安全传输,而Firefox并不那么挑剔。

以下是控制台在Chrome中显示的内容

[blocked] The page at https://salty-shelf-6707.herokuapp.com/
    ran insecure content from http://www.google.com/jsapi.
Uncaught ReferenceError: google is not defined

Google的JS API已被屏蔽,JavaScript无法运行。

(你也有一些未找到的错误,但这是无关的)

正如您所提到的那样,该应用可以通过http://salty-shelf-6707.herokuapp.com/正常工作,但不能通过https://salty-shelf-6707.herokuapp.com/

请尝试使用以下内容来加载API

<script type="text/javascript" src="//www.google.com/jsapi"></script>

src值开头的//将使url协议相对或正确的技术术语,方案相对。

Paul Irish,HTML5 Boilerplate的首席开发人员,has more information about this in a post on his site.