MVC4部分视图导航器.userAgent问题

MVC4 partial view jquery navigator.userAgent issue

本文关键字:userAgent 问题 导航 视图 MVC4      更新时间:2023-09-26

有一个问题,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 (version 1.10.xx)或site.js调用

时,都会出现几个permission denied error
 navigator.userAgent

我看到所有的答案都引用了ie的注册表设置,但这些设置都是按照建议设置的,对于用户来说,这并不是一个真正可行的解决方案。

我想我们只是渲染脚本不正确。

ie

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

这个js也会抛出错误

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

视图第一次加载时工作正常,第二次就抛出permission denied错误

可以使用

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

对于需要使用脚本的包。渲染单个文件需要一个脚本标记。尝试将site.js引用更改为

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

在加载菜单项和使用相同布局的不同视图后,每当jqueryui (version 1.10.xx)或site.js调用

时,都会出现几个permission denied error

这只是一个猜测,但你有没有彻底检查导致这个脚本失败的视图…也许仔细观察一下就会发现发生这种情况的原因。

我认为alert被阻塞了。试试这个。

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