现在的位置: 首页 > 综合 > 正文

【IE信息栏问题】本地html文件js被IE阻止的一些解决方法

2011年07月25日 ⁄ 综合 ⁄ 共 1938字 ⁄ 字号 评论关闭

还是做报表目录的事,一个本地htm文件,网页的树形导航,链接到本地一些doc,xls等文件。

做完后发现在本地磁盘打开htm文件,每次IE都出信息栏:

google了下,说是xp sp2补丁后出来的这个,以前自己写demo页面时也出现过一般就点下完了

现在要给客户用,总不能让人每次都点吧,何况还不一定清楚怎么设置。

解决办法,一般是说可以通过加入保存位置来解决:

方法一:在htm文件<html>标记前加入 saved from  标记

==========================================
注意:您可以向本地 HTML 文件中添加一条“saved from URL”注释,以指示 Internet Explorer 对本地计算机上的 HTML 内容应用其他区域的设置。例如,您可以向一个本地 HTML 文件中添加一条“saved from URL”注释,以便可以将该 HTML 文件分配到 Internet 区域而不是本地计算机区域。如果您在 Internet 区域中允许脚本、签名的 ActiveX 控件和 Java 小程序,那么该本地 HTML 文件将使用这些缩减的安全权限运行。要指示 Internet Explorer 对名为 Test.htm 的本地 HTML 文件使用 Internet 区域,请向 Test.htm 中添加以下注释。请在 
<HTML> 标记前面单独使用一行来添加该注释。

<!-- saved from url=(0023)http://www.contoso.com/ --> 
其中,(0023) 值是它后面的 URL 的字符串长度,Contoso 是 Internet Web 站点的名称。当 Internet Explorer 打开 Test.htm 时,Internet Explorer 将查找“saved from URL”注释,并使用适合该 URL 的区域设置来确定对该 Web 页应用哪种安全策略。 

 

加上后果然有效果,没有信息栏提示,但是出现更大的问题:所有链接到本地文件的链接都失效了,

点击无效,右键“另存为”可以,右键“新窗口打开”都没反应了。

IE既然已经将你的本地htm应用了save from url所在区域的设置,

再访问本地文件就存在安全风险,被直接xxoo了。

无奈,只好继续寻找其他办法。

方法二:比较囧,提示用户点信息栏好了。

<div id="divAlert">
<br/>您好,很抱歉您的IE浏览器设置似乎阻止了页面正常显示,请点击上方的白条: <br/><br/>
<img src='img\IEInfo.jpg'><br/><br/>
选择“允许阻止的内容”,然后在弹出的窗口中
<br/><br/>
<img src='img\IEConfirm.jpg'><br/><br/>
选择“是”,即可查看正常的浏览数据。
<br/>&nbsp;</div>
<script>
divAlert.style.display
='none';
pnlExpand.style.display
='block';
</script>

 

效果如下,被阻止时,出来下面的界面,没被阻止不显示。

方法三:在IE选项里面有设置“允许活动内容在我的计算机上的文件运行”,勾上,重启IE就行了。

该设置可以通过注册表修改,也就可以通过其他程序如启动界面来修改:

[HKCU\Software
\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LO-
CALMACHINE_LOCKDOWN],将右侧的“iexplore.exe”的键值设为0

优点是一针见血,一次设置好了,所有问题解决。

缺点是需要改动客户端环境,而且可能造成安全风险。

 方法四:使用hta文件提升权限。

直接将本地htm文件后缀改成hta,不再提示阻止信息栏,但是页面中有的js出问题了(tree的展开、关闭代码在新窗口打开了...)

更好的办法是hta文件只是个框架,里面嵌套htm文件即可,hta文件:

 

<HTML>
<HEAD>
<TITLE>title</TITLE>
</HEAD> 
<body  scroll="no" style="margin:0px;padding:0px">
<iframe border=0px frameborder=0px src=index.htm width=100% height=100%></iframe>
</body>
</HTML>

 

这样既不会出来js阻止信息栏,页面中的js效果也没有任何问题,唯一的缺点可能就是这个界面比较挫吧 :)

hta文件还有一些设置,有兴趣的可以自己google下

抱歉!评论已关闭.