关于“检查网站是否被加入IE信任站点”的解决方案

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:04:28
最近工作中遇到此问题,百度了一整天,毫无头绪,故在这里发出帖子,系统高手给予指点!

IE版本:IE5、IE6、IE7
忘记说了,最好是用JavaScript脚本进行检查

回复2楼的,是为市供热办开发的网站,有些功能只有添加了信任站点才可以正常应用,所以我才提出这样的问题,需要知道用户是否已经把站点加入了信任站点内。

回复3楼的,这篇文章与我想要的答案一点儿不符哦,不过还是谢谢你!

回复4楼的,你的方法我试过,如果是第一次运行脚本的话IE会有一个自己的提示:“在此页面上的 ActiveX 控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?”然后才能走进catch块,执行我自己的代码。我不想要IE的提示,有可以解决的办法吗?

回复[鬼宿cn] 关键有些用户可以说就是啥也不懂,就怕他不会手动添加,这样一来比如校验上传图片大小就会在IE7中产生问题!

信任站点的安全级别较低,默认可以使用未标记为安全的ActiveX,你的网站一定是使用了一个不安全的activeX,所以只能在信任站点使用。所以,你只需用JAVASCRIPT检测一下页面的activeX是否被加载和运行,如果正常,即表明加入信任站点,否则,就不是,给用户弹出提示即可。
你也可以通过try catch来捕捉脚本的错误,如果能捕捉到错误,即表明用户未把此站点加入信任站点。

-------------------------------
如果是第一次运行脚本的话IE会有一个自己的提示:“在此页面上的 ActiveX 控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?”然后才能走进catch块,执行我自己的代码。我不想要IE的提示,有可以解决的办法吗?

解决方案很简单,是先使用WINDOWS系统自带的不安全的ACTIVEX来进行测试,因为系统自带的AXTIVEX不需要安装,所以不会出现你所说的提示。如使用FSO对象来进行测试,测试通过后,再使用你自己的ACTIVEX。
例子代码如下:
<script>
function LoadActiveX()
{
try
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
}
catch(e)
{
alert("未加入可信站点。");
return;
}

//在这里写加载你自己ACTIVEX的代码
}
LoadActiveX();
</script>

微软技术支持里就有这样的文章。不知道是不是你要的。
http://support.microsoft.com/kb/193877/zh-cn