有一个问题,即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);
});
第一次加载视图时它工作正常,第二次它会抛出权限被拒绝错误。
答案 0 :(得分:0)
你可以使用
@Scripts.Render("~/Scripts/site.js")
确保它正确呈现......
答案 1 :(得分:0)
对于一个bundle,你需要使用scripts.render来处理单个文件,你需要一个脚本标记。尝试将site.js引用更改为
<script type="text/javascript" src="@Url.Content( "~/Scripts/site.js" )"></script>
答案 2 :(得分:0)
加载菜单项后,使用相同布局的其他视图呈现,只要jqueryui(版本1.10.xx)或site.js调用
,就会出现多个权限被拒绝的错误
这只是一个推测,但你已经彻底检查了导致这个脚本失败的视图。或许仔细观察可能会发现为什么会发生这种情况。也许您在该视图中使用了一些其他脚本,这可能会导致此脚本导致此类错误。
答案 3 :(得分:0)
我认为警报被阻止了。试试这个。
$(document).on('ready', function () { console.log(window.navigator.userAgent); });