4

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

4

1 回答 1

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 将使 url 协议相对或正确的技术术语,方案相对。

HTML5 Boilerplate 的首席开发人员 Paul Irish在他的网站上发布了有关这方面的更多信息。

于 2012-12-21T19:24:24.863 回答