zoukankan      html  css  js  c++  java
  • Internet Explorer已限制此网页运行可以访问计算机的脚本或ActiveX控件

    在制作网页的时候,大家不免要用到script,也即是脚本,主要是VBScript以及JavaScript。那么时常遇到这样的情况:

    在本地双击打开html文件时,如果是IE的话,会出现提示框(如下图):

    [转]Internet <wbr>Explorer已限制此网页运行可以访问计算机的脚本或ActiveX控件

    造成这种困扰的原因:IE保护机制,默认安全级别较高,当然可以修改自己的IE浏览器来解决。

    方法:打开IE——工具——Internet选项——高级标签——安全——勾选“允许活动内容在我的计算机上的文件中运行”

    以下情况会发生这种现象:

    1,使用360浏览器、遨游浏览器、搜狗浏览器等浏览器浏览。

    2,使用服务器浏览网页。使用Apache或IIS搭建个人web服务器,将网页文件放在对应目录里面,使用http://localhost/……地址访问。

    也就是说造成这种现象的原因有二,一是并未通过服务器解析进行浏览,而是使用我们常用的双击打开在浏览器里浏览,而是使用的是IE浏览器浏览,如果换用360或者搜狗浏览器的话就不会出现这种情况。

    如果我们考虑到网页兼容性测试有必要使用多个IE版版本进行测试,而且觉得是用地址浏览不如双击浏览方便,那么就需要寻找解决方法解决这个让人不舒服的tips。

    因为这种现象很常见,于是有很多人在知道或者问问上发帖求助,于是在CSDN上一位博主发表一篇原创文章,专门为解决这个问题。由于原文已被删除,但由于大家觉得他的解答很受用,纷纷转载、抄袭。

    见:http://www.baidu.com/s?wd=Ϊ�������ڱ�����ȫ�ԣ�IE�����ƴ���ҳ���п��Է��ʼ����Ľű��� ActiveX �ؼ�&tn=sogouie_1_dg

    详细浏览后发现随让题目不一,但方法如出一辙。例如,这篇http://blog.dormforce.net/est/archives/109

    流传中的方法:

    在 html 文件 !DOCTYPE 下面那行加上
    <!– saved From url=(0022)http://blog.csdn.net/electroniXtar/ –>
    就行了

    我一向反对抄袭,所以对评价是否抄袭很谨慎,说是抄袭的很简单,在这个方法中有一个地址http://blog.csdn.net/electroniXtar/,显然这个地址是原创者留下防“借鉴不留出处”的人。而如果你百度搜索这个地址,会发现大量结果与“IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件”这十几个关键字挂钩。显然抄袭这个成果的人绝不在少数,甚至百度知道上很多人也用这个回答,而且答案被采纳。

    其实我在上面也说了,这个问题很小,因为在实际开发中,网站必须借助服务器,因为在运营的网站上,不会出现这个提示,即使是IE也不会,出现这种问题的朋友们根本不用太担心,这只是一个很小的问题。

    我要说的是原创者的想法和转载者的盲目,以致部分人受到错误引导。

    首先,原创者也许知道这个问题在服务器上不会发生,但是他却并未告诉我们这一点,因为如果大家知道这一点的话,她的文件价值就无法体现了,这似乎有私心。

    其次,原创者使用自己blog地址目的无可厚非,但做一个网站,里面放着别人的链接,而且还是在使用者看起来很重要的屏蔽错误的链接。在脱机浏览的时候,不能链接到这个博客,岂不还会出现提示?当然也许这个地址只是个幌子,根本不会连接上去,有待详细验证。不过个人测试对于某些地址可以使用,某些不行,那么这个方法就体现出了它的局限性。

    最后,也是最重要的一点,按照

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!– saved From url=(0022)http://blog.csdn.net/electroniXtar/ –>
    <html xmlns="http://www.w3.org/1999/xhtml">

    写出来的代码,产生的效果是:的确不显示tips了,但很少人发现这个网页不是脚本提示被屏蔽了,而是网页中的脚本不执行了。我并不十分清楚其中缘由,前几个月测试发现原来脚本不能执行了,今天发现这种方法不能用了,提示依旧。如果说造成脚本不执行了,那么这就是一个严重的问题,这样的方法用了反而起反作用,如果不加这个代码,在服务器上一放,就没什么问题,这样一加导致脚本失效,对于大一点的网站,绝对是灾难性的错误。当然具体情况在服务器上是否会阻止脚本执行,并未测试。但这种只是去掉提示而并未解决根本的脚本被IE阻止的问题,无异于饮鸩止渴,隐藏错误,失去了发现错误的机会。

    另外是转载抄袭者的盲目,由于很多人并未意识到脚本被阻止了,并未有提示,所以因此盲目转载吹嘘的人太多,以至于这种错误方法泛滥。

    那么在这里,本来这个问题不大,为了一些人的需要,提供以下方法

    即在<html>和<head>标签中间加上<!-- saved from url=(0014)about:internet -->代码,或许我也可以在这行代码中加点什么,或者我的博客地址的什么,但是我觉得对于网站代码,是给大家用的,不是给自己做广告的。html代码有些太过的修改会影响到使用者,相信如果一个站长网里面js代码都有些替换不掉的原网网址的话,也不会有人用的。

    为接受大家测试。写出这个方法的测试代码,建议每次测试前清除掉IE缓存。可使用IE9以下任何版本

    代码(1)

    <HTML>
    <HEAD>
    <TITLE>测试</TITLE>
    </HEAD>
    <BODY>
    <script language="javaScript">
    <!--
    now = new Date(),hour = now.getHours()
    if(hour < 6){document.write("凌晨好!")}
    else if (hour < 9){document.write("早上好!")}
    else if (hour < 12){document.write("上午好!")}
    else if (hour < 14){document.write("中午好!")}
    else if (hour < 17){document.write("下午好!")}
    else if (hour < 19){document.write("傍晚好!")}
    else if (hour < 22){document.write("晚上好!")}
    else {document.write("夜里好!")}
    // -->
    </script>
    </BODY>
    </HTML>

    按照流传的方法

    代码(2)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!– saved From url=(0022)http://blog.csdn.net/electroniXtar/ –>
    <HTML xmlns="http://www.w3.org/1999/xhtml">
    <HEAD>
    <TITLE>测试</TITLE>
    </HEAD>
    <BODY>
    <script language="javaScript">
    <!--
    now = new Date(),hour = now.getHours()
    if(hour < 6){document.write("凌晨好!")}
    else if (hour < 9){document.write("早上好!")}
    else if (hour < 12){document.write("上午好!")}
    else if (hour < 14){document.write("中午好!")}
    else if (hour < 17){document.write("下午好!")}
    else if (hour < 19){document.write("傍晚好!")}
    else if (hour < 22){document.write("晚上好!")}
    else {document.write("夜里好!")}
    // -->
    </script>
    </BODY>
    </HTML>

    加<!-- saved from url=(0014)about:internet -->后的代码

    代码(3)

    <HTML>
    <!-- saved from url=(0014)about:internet -->
    <HEAD>
    <TITLE>测试</TITLE>
    </HEAD>
    <BODY>
    <script language="javaScript">
    <!--
    now = new Date(),hour = now.getHours()
    if(hour < 6){document.write("凌晨好!")}
    else if (hour < 9){document.write("早上好!")}
    else if (hour < 12){document.write("上午好!")}
    else if (hour < 14){document.write("中午好!")}
    else if (hour < 17){document.write("下午好!")}
    else if (hour < 19){document.write("傍晚好!")}
    else if (hour < 22){document.write("晚上好!")}
    else {document.write("夜里好!")}
    // -->
    </script>
    </BODY>
    </HTML>

    测试结果:在IE8.0中,分别双击打开三个代码。代码(1)和代码(2)都提示tips,代码(3)正常执行脚本命令,有显示结果。

    代码(3)即是本文所提供的这种方法,文章有不当之处,万望大家指正。

  • 相关阅读:
    Design Pattern: Gof
    ZT --- extern "C"用法详解 2010-08-21 19:14:12
    OCR
    Linux strace命令
    wireshark esp
    https://sourceware.org/gdb/onlinedocs/gdb/Forks.html
    12306网上买火车票选择上中下铺的方法
    gdb调试有fork的程序
    named piped tcp proxy
    bash 提示用户输入 choice
  • 原文地址:https://www.cnblogs.com/dengpeng1004/p/4729118.html
Copyright © 2011-2022 走看看