4

在我们的应用程序 (https://apps.facebook.com/testedenivel) 中,我们在 https 链接中明确引用页面 css,如下所示:

<link rel="stylesheet" href="https://d2asm4nez8zghw.cloudfront.net/content/app-teste-de-nivel.css?v=0.96.02" type="text/css" media="screen">

但奇怪的是,Facebook 将这个 css 文件预加载为 HTTP 链接。在之前的某个时候,我们使用了这个 HTTP url,但后来我们将其更改为 HTTPS,现在 Facebook 似乎正在使用该 url 的以前的缓存版本:

<script type="text/javascript">
new Image().src = "http:\/\/www.talkfast.com.br\/content\/app-teste-de-nivel.css";
</script>

问题是当用户通过安全浏览进入我们的应用程序时,HTTP 链接预加载导致浏览器提醒我们的用户一些不安全的内容即将被加载。我们想知道如何告诉 Facebook 删除这个预加载脚本,或者至少使用我们当前的 HTTPS url,如下所示:

<script type="text/javascript">
new Image().src = "https://d2asm4nez8zghw.cloudfront.net/content/app-teste-de-nivel.css?v=0.96.02";
</script>

在网络上似乎很少有关于这个问题的参考资料,所以任何帮助都将不胜感激。

4

1 回答 1

0

我没有在 facebook 应用程序中测试这个解决方案,但是在狂野的网络上你可以使用这个

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>

作为证明:) http://paulirish.com/2010/the-protocol-relative-url/

由于所有资源都加载了页面协议,因此用户不会在页面上看到有关不安全元素的确认。


只需使用 Heroku 创建测试应用程序,我的 chromium 不会对框架内的 https 资源感到愤怒,因此问题取决于浏览器。

于 2012-07-07T12:12:26.450 回答