Internet Explorer已限制此網頁運行能夠訪問計算機的腳本或ActiveX控件

在製做網頁的時候,你們難免要用到script,也便是腳本,主要是VBScript以及JavaScript。那麼時常遇到這樣的狀況:html

在本地雙擊打開html文件時,若是是IE的話,會出現提示框(以下圖):java

[轉]Internet <wbr>Explorer已限制此網頁運行能夠訪問計算機的腳本或ActiveX控件

形成這種困擾的緣由:IE保護機制,默認安全級別較高,固然能夠修改本身的IE瀏覽器來解決。web

方法:打開IE——工具——Internet選項——高級標籤——安全——勾選「容許活動內容在個人計算機上的文件中運行」瀏覽器

如下狀況會發生這種現象:緩存

1,使用360瀏覽器、遨遊瀏覽器、搜狗瀏覽器等瀏覽器瀏覽。安全

2,使用服務器瀏覽網頁。使用Apache或IIS搭建我的web服務器,將網頁文件放在對應目錄裏面,使用http://localhost/……地址訪問。服務器

也就是說形成這種現象的緣由有二,一是並未經過服務器解析進行瀏覽,而是使用咱們經常使用的雙擊打開在瀏覽器裏瀏覽,而是使用的是IE瀏覽器瀏覽,若是換用360或者搜狗瀏覽器的話就不會出現這種狀況。electron

若是咱們考慮到網頁兼容性測試有必要使用多個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)便是本文所提供的這種方法,文章有不當之處,萬望你們指正。

相關文章
相關標籤/搜索