有一个问题,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); });