簡體   English   中英

為什么我的網站腳本出現此錯誤?

[英]Why I am getting this error with the script in my website?

我試圖通過添加以下由一群出色的開發人員和該社區中的人建議的代碼來解決我的網站中JQuery LavaLamp菜單欄所面臨的問題:

<script>
if ($.browser.version < 9.0 && $.browser.msie) {
document.getElementsByTagName("head")[0].innerHTML = '<script type="text/javascript" src="./Scripts/jquery.easing.1.1.js"></script><script type="text/javascript" src="./Scripts/jquery.preloader.js"></script><script type="text/javascript"  src="./Scripts/jquery.lavalamp.js"></script><script type="text/javascript" src="./Scripts/lavalamp-config.js"></script>';
}
else {
    document.getElementById("head")[0].innerHTML = '<script type="text/javascript" src="./Scripts/jquery.easing.1.1.js"></script><script type="text/javascript" src="./Scripts/jquery.preloader.js">';
}

​​</script>​​​​​​​​​​​​​​​​​​​​​​​​​​​

在Visual Studio 2010中,出現以下錯誤

未終止的字符串常量

在以下行中:

document.getElementsByTagName("head")[0].innerHTML = '<script type="text/javascript" src="./Scripts/jquery.easing.1.1.js"></script><script type="text/javascript" src="./Scripts/jquery.preloader.js"></script><script type="text/javascript"  src="./Scripts/jquery.lavalamp.js"></script><script type="text/javascript" src="./Scripts/lavalamp-config.js"></script>';

那我該如何解決這個問題呢?

更新#1:

我將代碼更新為您建議的代碼,但仍然出現相同的錯誤。 另外,這是錯誤的快照:

在此處輸入圖片說明

更新#2我修改了代碼,使母版頁包含以下代碼,但仍然出現與上面快照所示的頁面頂部相同的錯誤。

<head>
<script type="text/javascript">
function getInternetExplorerVersion()
    // Returns the version of Internet Explorer or a -1
    // (indicating the use of another browser).
    {
        var rv = -1; // Return value assumes failure.
        if (navigator.appName == 'Microsoft Internet Explorer') {
            var ua = navigator.userAgent;
            var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null)
                rv = parseFloat(RegExp.$1);
        }
        return rv;
    }
</script>

<script type="text/javascript">
 if (getInternetExplorerVersion() < 9.0 && browser_type  = "Microsoft Internet Explorer") {
    document.getElementsByTagName("head")[0].innerHTML = "<script  type='text/javascript' src='./Scripts/jquery.easing.1.1.js'></script><script type='text/javascript' src='./Scripts/jquery.preloader.js'></script><script type='text/javascript'  src='./Scripts/jquery.lavalamp.js'></script><script type='text/javascript' src='./Scripts/lavalamp-config.js'></script>";
 }  else {
       document.getElementById("head")[0].innerHTML = "<script type='text/javascript' src='./Scripts/jquery.easing.1.1.js'></script><script type='text/javascript' src='./Scripts/jquery.preloader.js'>";
   }
​​</script>​​​​​​​​​​​​​​​​​​​​​​​​​​​
</head>

即使關閉腳本標記位於字符串文字中,它也可能被瀏覽器解釋為當前腳本塊的末尾,這反過來意味着特定的字符串文字是未終止的。

在您的字符串中,而不是

'</script>'

你可以做

'<\/script>'

(當JS運行時,反斜杠將被忽略。)或者有時您會看到類似以下內容的內容:

'<' + '/script>'

或將<替換為等效的字符代碼:

'\x3C/script>'

試試看,使用以下功能獲取瀏覽器版本號

   function getInternetExplorerVersion()
    // Returns the version of Internet Explorer or a -1
    // (indicating the use of another browser).
    {
        var rv = -1; // Return value assumes failure.
        if (navigator.appName == 'Microsoft Internet Explorer') {
            var ua = navigator.userAgent;
            var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null)
                rv = parseFloat(RegExp.$1);
        }
        return rv;
    }

及以下獲取瀏覽器名稱

var browser_type = navigator.appName(“ Microsoft Internet Explorer”)

所以你的新功能看起來像

   if (getInternetExplorerVersion() < 9.0 && browser_type  = "Microsoft Internet Explorer") {
    document.getElementsByTagName("head")[0].innerHTML = "<script  type='text/javascript' src='./Scripts/jquery.easing.1.1.js'></script><script type='text/javascript' src='./Scripts/jquery.preloader.js'></script><script type='text/javascript'  src='./Scripts/jquery.lavalamp.js'></script><script type='text/javascript' src='./Scripts/lavalamp-config.js'></script>";
 }  else {
       document.getElementById("head")[0].innerHTML = "<script type='text/javascript' src='./Scripts/jquery.easing.1.1.js'></script><script type='text/javascript' src='./Scripts/jquery.preloader.js'>";
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM