這是網(wǎng)頁程序的問題,經(jīng)常發(fā)生于網(wǎng)頁的html代碼的編寫錯(cuò)誤以及JavaScript、vbscript腳本代碼未通過瀏覽器的檢測(cè)而發(fā)出這樣的提示,只要不影響正常的頁面瀏覽就不必在意。如果影響了頁面的功能使用,建議將頁面刷新重新嘗試并檢測(cè)瀏覽器的安全設(shè)置、清除歷史文件后再重新登陸頁面。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、舟曲網(wǎng)站維護(hù)、網(wǎng)站推廣。
解決辦法:
1、打開IE瀏覽器,在IE瀏覽器上方的菜單欄中找到工具項(xiàng),然后選擇工具項(xiàng)中的“Internet選項(xiàng)”;
2、在打開的Internet選項(xiàng)窗口中,我們可以看到默認(rèn)是常規(guī)標(biāo)簽頁,我們可以切換到安全標(biāo)簽頁中;
3、在安全標(biāo)簽頁中,可以看到最下面的該區(qū)域的安全級(jí)別窗口中有一個(gè)“自定義級(jí)別”項(xiàng),單擊自定義級(jí)別進(jìn)入;
4、此時(shí),我們可以看到一個(gè)安全設(shè)置的internet區(qū)域窗口中,在設(shè)置處下拉滑塊,找到“java小程序腳本”,選擇“啟用”項(xiàng),如圖所示,再點(diǎn)擊確定退出;
5、在你設(shè)置完成后,會(huì)彈出一個(gè)警告提示,你無需管它,直接點(diǎn)擊“是”按鈕,然后退出設(shè)置,網(wǎng)頁錯(cuò)誤就可以解決。
Javascript 錯(cuò)誤處理的幾種方法
1.使用window.onerror指定錯(cuò)誤處理函數(shù)。
當(dāng)有錯(cuò)誤的時(shí)候,onerror會(huì)被callback。 當(dāng)某個(gè)JavaScript block中有多個(gè)script錯(cuò)誤時(shí),第一個(gè)錯(cuò)誤觸發(fā)后(回調(diào)callback),當(dāng)前Javascript block后面的script會(huì)被自動(dòng)Drop忽略掉,不被執(zhí)行。
如:
代碼如下:
html xmlns=""
head
titleTest/title
script type="text/javascript"
window.onerror = function(message, url, line)
{
alert("Error.\nMessage:"+ message +"\nUrl:" + url + "\nLine:" + line)
return true;
}
/script
/head
body
script type="text/javascript"
test();
test();
test();
test();
/script
script type="text/javascript"
test();
test();
test();
test();
/script
/body
/html
在上面的例子中只會(huì)有每一個(gè)block中的第一個(gè)test();產(chǎn)生error。觸發(fā)window.onerror回調(diào),后面的Javascript會(huì)被忽略掉。img 也支持 onerror img src="pic.gif" onerror = "javascript:alert("An error occurred.");"/。onerror 是瀏覽器支持的對(duì)象。由瀏覽器決定是否可以使用,不是DOM標(biāo)準(zhǔn)。
2.使用Javascript中的try catch throw處理異常。
Javascript支持了try catch throw,Javascript中定義的異常:
(1)EvalError: An error occurs in the eval() function.
(2)RangeError: A number value is greater then or less then the number that can be represented in Javascript(Number.MAX_VALUE and Number.MIN_VAKUE).
(3)ReferenceError: An illegal reference is used.
(4)SyntaxError: A syntax error occus inside of an eval() function call. All other syntax error are reorted by the browser and cannot be handled with a try...catch statement.
(5)TypeError. A variables type is unexpected. 6.URIError. An error ocuurs in the encodeURI() or the decodeURI() function.
如:
代碼如下:
script type="text/javascript"
function CreateError()
{
throw new Error("Created error by custom.");
}
try
{
//throw a error from a function just want to see the call stack in firefox.
CreateError();
}
catch(error)
{
var errorMsg = ("Message: " + error.message + "\n");
if(typeof(error.stack)!=undefined)
{
//FF
errorMsg += ("Line Number: " + error.lineNumber + "\n");
errorMsg += ("File Name: " + error.fileName + "\n");
errorMsg += ("Stack Trace:\n" + error.stack + "\n");
}
else
{
//IE
errorMsg += ("Description: " + error.description + "\n");
errorMsg += ("Number: " + error.number + "\n");
}
alert(errorMsg);
}
finally
{
//alert("End try catch.message from finally block.");
}
/script
Error.message是IE和FireFox都支持的屬性。
IE支持description 和 number屬性。
FF支持fileName lineNumber 和 stack 屬性。
由于Javascript是弱類型的語言。
所以在catch部分只能catch一次,不能像C#這樣的語言可以寫多個(gè)catch,catch不同類型的exception。
但是可以用 instanceof ErrorType的方式實(shí)現(xiàn)類似的功能。
如:
代碼如下:
script type="text/javascript"
try
{ //Syntax Error
//eval("alert a");
//Custom Error
throw new Error("An error occured.");
}
catch(error)
{
if(error instanceof SyntaxError)
{
alert("Syntax Error");
}
else if(error instanceof EvalError)
{
alert("Eval Error");
}
else if(error instanceof RangeError)
{
alert("Range Error");
}
else if(error instanceof ReferenceError)
{
alert("Reference Error");
}
else if(error instanceof TypeError)
{
alert("Type Error");
}
else if(error instanceof Error)
{
alert("Custon Error");
}
alert(error.message);
}
/script
注:瀏覽器不會(huì)拋出Error類型的exception異常,所以如果捕獲到Error類型的異常,可以確定這個(gè)異常是用戶代碼拋出的,不是瀏覽器拋出的。
Javascript的assert()
代碼如下:
function assert(bCondition, sErrorMsg) {
if (!bCondition) {
alert(sErrorMsg);
throw new Error(sErrorMsg);
}
}