还是做报表目录的事,一个本地htm文件,网页的树形导航,链接到本地一些doc,xls等文件。
做完后发现在本地磁盘打开htm文件,每次IE都出信息栏:
google了下,说是xp sp2补丁后出来的这个,以前自己写demo页面时也出现过一般就点下完了
现在要给客户用,总不能让人每次都点吧,何况还不一定清楚怎么设置。
解决办法,一般是说可以通过加入保存位置来解决:
方法一:在htm文件<html>标记前加入 saved from 标记
加上后果然有效果,没有信息栏提示,但是出现更大的问题:所有链接到本地文件的链接都失效了,
点击无效,右键“另存为”可以,右键“新窗口打开”都没反应了。
IE既然已经将你的本地htm应用了save from url所在区域的设置,
再访问本地文件就存在安全风险,被直接xxoo了。
无奈,只好继续寻找其他办法。
方法二:比较囧,提示用户点信息栏好了。
方法三:在IE选项里面有设置“允许活动内容在我的计算机上的文件运行”,勾上,重启IE就行了。
该设置可以通过注册表修改,也就可以通过其他程序如启动界面来修改:
[HKCU/Software
/Microsoft/Internet Explorer/Main/FeatureControl/FEATURE_LO-
CALMACHINE_LOCKDOWN],将右侧的“iexplore.exe”的键值设为0
优点是一针见血,一次设置好了,所有问题解决。
缺点是需要改动客户端环境,而且可能造成安全风险。
方法四:使用hta文件提升权限。
直接将本地htm文件后缀改成hta,不再提示阻止信息栏,但是页面中有的js出问题了(tree的展开、关闭代码在新窗口打开了...)
更好的办法是hta文件只是个框架,里面嵌套htm文件即可,hta文件:
这样既不会出来js阻止信息栏,页面中的js效果也没有任何问题,唯一的缺点可能就是这个界面比较挫吧
hta文件还有一些设置,有兴趣的可以自己google下