如何识别Chrome是否显示安全图标

时间:2013-12-11 12:40:53

标签: javascript google-chrome ckeditor browser-security

我的应用程序中存在一些浏览器安全问题。

最初,这不是一个问题,因为我所有的javacript代码都运行良好。但是因为我已经开始使用ckEditor它成了一个问题,因为我的ckEditor只有在我启用不安全脚本(“加载不安全脚本”)时才能工作。它只发生在 Chrome

我发现了这个有用的链接Content Security Policy,我正在尝试解决它。​​

但是,我想知道是否有任何方法可以通过javascript检测应用程序是否被浏览器阻止。实际上我不是在谈论标记<noscript></noscript>,因为我的应用程序上的其他javascript代码仍然正常工作。 这是关于这个特定Chrome的安全性。

我正在按照内容安全政策的说明处理此问题。也许我可以确定Chrome是否显示此安全图标并向用户提供一些说明。

有可能吗?

security block

2 个答案:

答案 0 :(得分:2)

我可能会假设您的网站受SSL(HTTPS)保护,而您引用的是其他来源的脚本,而不是您的域名,例如CKEditor工具。

如果您将CKEditor脚本文件下载到服务器并将脚本引用更改为您的域地址,该怎么办?

另外,看看这个未解决的问题: CKEditor does not load in Chrome when included in a https site ,如果您当前正在理解,则表示如果您位于受SSL保护的网站,则应使用HTTPS而不是HTTP来引用CKEditor。

答案 1 :(得分:0)

这就是我解决这个问题的方法:

我在不安全的http连接上加载了一个脚本,它只设置了一个全局变量。在onload事件中,我检查了变量是否已设置。如果没有,我会发出警告。

通过HTTP加载的脚本:

var unsecureContentLoaded = true;

检查内容是否已加载(通过HTTPS加载)的示例代码:

$(document).ready(function(){
    if(typeof unsecureContentLoaded === "undefined"){
        alert("unsafe content could not be loaded!");
    }
});