css - 当我的页面引用在 HTTPS 中时,为什么 Facebook 会在 HTTP 中为我的应用程序的 css 插入预加载脚本?

标签 css facebook caching ssl

在我们的应用程序 (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>

网络上似乎缺乏关于此问题的引用资料,因此我们将不胜感激。

最佳答案

我没有在 facebook 应用程序中测试这个解决方案,但你可以在 wild web 上使用它

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

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

有了这个所有资源都加载了页面协议(protocol),所以用户看不到关于页面上不安全元素的确认。


只需使用 Heroku 创建测试应用程序,我的 chromium 不会对框架内的 https 资源生气,所以问题取决于浏览器。

关于css - 当我的页面引用在 HTTPS 中时,为什么 Facebook 会在 HTTP 中为我的应用程序的 css 插入预加载脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11197263/

相关文章:

python - 在 Django 中缓存来自其他网站的数据

android - Facebook 提示用户登录两次

facebook - 如何通过fql查询相册、照片等facebook对象的点赞数?

http - 如何确保我的用户正在下载我的 S3 文件的新版本?

html - 固定表列实现

javascript - 使用 JavaScript 列出当前浏览器支持的 CSS 游标值

javascript - 查找设备宽度和回显元视口(viewport)规则

jquery - 我是否总是需要显式捆绑 jQuery UI 的所有样式?

javascript - 哪些数据被传递给从 FB.ui( ) 调用的回调函数?

java - Spring 3.1缓存——如何在SpEL中使用返回值