可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框?...

本文解决了在使用IE浏览器访问HTTPS网站时出现的安全内容警告问题。通过调整iframe的src属性为安全来源,避免了警告弹窗的出现。

今天解决了一个困扰我们很久的一个问题(说是很久,但一直没有花时间去research,想想不影响功能使用,没什么啊。而真正解决问题,也就那二十来分钟,哎!人已经懒惰成这样了)。

问题描述:

我们利用ajax做了一套系统,但通过https访问的时候,IE总会弹出下面的对话框:

可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客

而在我们的代码中所有的访问都是通过https的,怎么会有不安全的元素呢?在网上google了一下,有人提到可能是iframe的问题。而在我们系统中确实用到了很多的iframe。修改code,去掉所有的iframe。再次run,上面的对话框没有了,终于找到原因了。但是我们的系统中是需要iframe啊?请看下面的code:

1可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客var iframe=document.createElement("iframe");

2可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客        iframe.style.zIndex=-1;

3可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客        iframe.style.position="absolute";

4可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客        iframe.style.left=0;

5可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客        iframe.style.top=0;

6可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客        iframe.style.width=menu.getSize().x-2;

7可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客        iframe.style.height=menu.getSize().y-4;

8可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客        menu.getHtmlElement().appendChild(iframe);

从上面的code,可以看出代码中没有指定src属性,这样IE是没有办法知道这个iframe将引用的是安全内容还是不安全内容呢。所以会弹出上面的对话框。增加src属性,修改code:

可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客var iframe=document.createElement("<iframe src='blank.html'>");//src是个只读属性,不能直接赋值,black.html是个空的静态页面。

再次run,对话框没有了,问题解决。

附录:

在IE下,如果div悬浮在select上面。select会透过div显示出来。这非常影响视觉效果。网上有很多的解决办法,其中一个就是在div中增加iframe。我们就是通过这个方法的,但又产生了这个问题。

发表于 2007-08-15 16:15 swingboat 阅读(1855) 评论(1)  编辑  收藏 所属分类: javascript&DHTML&CSS

 

可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框? - 清风幻影 - 清风幻影的博客

# re: 可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框?

下面还有一种方法解决这个问题,而且不用创建一个空的页面。

修改iframe的src属性:

var iframe=document.createElement("<iframe src='javascript:\"\"'>");

运行效果一样。

但在这里我发现有一个有趣的现象。修改代码如下:

var iframe=document.createElement("<iframe src='javascrip:'>");

运行后发现,在firefox下,当运行到上面语句的时候,firefox将会两次弹出错误控制台。很奇怪啊!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值