如何检测 javascript 文件是否被 IE11 安全设置阻止
How can I detect if javascript files are being blocked by IE11 security settings?
我有一个网站,它通过javascript(不是我的设计)渲染几乎所有内容,当然,这在Internet Explorer中引起了很多问题。反复出现的问题是,当用户将安全性设置为"高"时,我相信必要的javascript文件会被阻止,因为它们来自另一个域。这与Drupal设置有关,我不完全确定,但重要的是要知道文件是从不同的域提供的,我对此无能为力。
我的客户想要的是每当这些脚本被阻止时弹出警报,告诉他们的用户如何更改他们的安全设置。
1)如果我在同一域上添加javascript文件,它不应该被阻止,对吗?
2)有没有办法检测用户的安全设置是什么,或者检测脚本是否被javascript阻止?
还有另一种方法可以检测 js 脚本是否已加载; 可能有很多东西,可能是他们的网络防火墙,操作系统级别的防火墙,浏览器安全设置,列表继续提供可能性。
您可以拥有:
<script src="http://yourdomain.com/the_js_script.js"></script>
<script>if (typeof foo == "undefined") {alert ('error loading script');}</script>
确保在the_js_script.js,你会有
var foo = 'Script loaded successfully';
您可以对所有 js 脚本执行此操作,并提醒不同的消息,以便用户至少知道哪些脚本被阻止或它们是否通过。
将 IE 安全设置为"高"将禁止所有脚本在浏览器中运行。
唯一可用的解决方法是使用 noscript
html 标记放置警告消息。
<noscript>Your browser does not support JavaScript!</noscript>
我本来想评论@unixmiah的答案,但我没有足够的声誉,我相信这也是一个答案。Unixmiah 的解决方案无法提醒被阻止的客户端,我认为因为警报需要生成脚本。但是,我相信这会起作用(不是吗?
jQuery(function($) {
$(document).ready(function() {
$("p#jstrap").hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="jstrap">You seem to have switched Javascript off.</p>
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 使用javascript存储变量的最安全方式
- 是否存在React Native“;WEB代码安全防护”;
- 内容安全策略:页面's设置阻止加载资源
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- IE11中的第二个调用取消了第一个Fetch API调用
- Tab键不会't继续chrome/IE11中的表单字段
- 如何在Google chrome安全首选项文件中创建扩展安全哈希代码
- ES6 模板文字是否比 eval 更安全
- CORS保持在SecurityError上:操作不安全
- 旋转木马;启用内容安全策略时无法工作
- 具有大型数据集的组件仅在 IE11/Edge 上运行缓慢
- 从自己的安全系统中重新找回自己
- 关于ajax的安全问题
- 使用javascript|IE11下载base64数据
- 如何使用app和secret进行安全的解析初始化
- 是否可以使用“;document.all”;在IE11中,而不改变每次使用
- 如何检测 javascript 文件是否被 IE11 安全设置阻止
- Canvas toDataURL在IE11安全错误