簡體   English   中英

MVC4部分視圖jquery navigator.userAgent問題

[英]MVC4 partial view jquery navigator.userAgent issue

有一個問題,其中javascript使用布局在第一頁上渲染並正確運行:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="chrome=1, IE=edge">
    <meta charset="utf-8" />
    @Styles.Render("~/Content/less")        
    <title>Title</title>
</head>
<body>
    <div class="skin-wrap">
        <header>
            @Html.Partial("_Header")
        </header>
        <section class="detail">
            <section class="menu-col">
                @{ Html.RenderAction("Index", "Menu"); }
            </section>
            <section class="detail-col">
                @RenderBody()
            </section>
        </section>
    </div>
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryui")
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/Scripts/site.js")
    @RenderSection("scripts", required: false)
 </body>
</html>

但是在加載菜單項並且使用相同布局的其他視圖呈現后,每當jqueryui(版本1.10.xx)或site.js調用時,都會出現多個權限被拒絕的錯誤

 navigator.userAgent

我已經看到了所有引用Internet Explorer注冊表設置的答案,但是這些設置均設置為建議的設置,對於用戶進行更改並不是真正可行的解決方案。

我認為我們只是錯誤地渲染了腳本。

即錯誤

SCRIPT70: Permission denied 
site.js, line 3 character 1234

這個js也拋出錯誤

$(document).on('ready', function () {
     alert(window.navigator.userAgent);
});

第一次加載視圖時,它工作正常,第二次,它拋出權限被拒絕錯誤。

您可以使用

@Scripts.Render("~/Scripts/site.js") 

確保正確呈現...

對於捆綁包,您需要對單個文件使用scripts.render,需要使用script標簽。 嘗試將site.js引用更改為

<script type="text/javascript" src="@Url.Content( "~/Scripts/site.js" )"></script>

加載菜單項並且使用相同布局的其他視圖呈現后,每當jqueryui(版本1.10.xx)或site.js調用時,都會出現多個權限被拒絕的錯誤

只是一種推測,但您是否已徹底檢查了導致該腳本失敗的View。也許仔細觀察可能會發現為什么發生這種情況。 也許您在該視圖中使用了其他一些腳本,這些腳本可能會使此腳本引起此類錯誤。

我認為警報已被阻止。 嘗試這個。

$(document).on('ready', function () { console.log(window.navigator.userAgent); });

暫無
暫無

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

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