【问题标题】:ASP MVC Layout Page does not run custom JavaScriptASP MVC 布局页面不运行自定义 JavaScript
【发布时间】:2017-03-27 16:04:57
【问题描述】:

我正在开发一个新项目,因此使用了样板文件 (this one) 由于某种原因,我在 _Layout 页面中添加的自定义 javascript 无法运行。

这是我身体标签底部的内容:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/jqueryvalunobtrusive")
@Scripts.Render("~/bundles/tether")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/site")
@Scripts.Render("~/Scripts/search.js") ==> Works aswell
<script type="text/javascript"> ==> Does not work
    alert("loading");
</script>
@RenderSection("JavaScript", false)

除警报外,一切都来自外部文件。如果我检查我的网站,我会看到添加了代码:

我放置在一个部分中的其他视图中的所有 JavaScript 也不起作用:

@section JavaScript
{
    <script type="text/javascript">
        alert("test");
        $().ready(function () {
            console.log("view");
            alert("test");
       });
    </script>
}

我不知道出了什么问题。以前从来没有过这个。非常感谢任何帮助。

谢谢!

【问题讨论】:

  • 这可能是导致其余代码未执行的 javascript 错误(开发人员工具中的任何 js 错误?)或一个(或多个)捆绑包未正确捆绑。当你尝试直接加载 bundle js 时会发生什么?
  • 同意,其中一个包中的 js 错误是最可能的解释 - 开发工具控制台应该为您指明正确的方向,但您可以通过将警报代码移到所有捆绑包看看它是否有效,然后将其移动到捆绑包之间,直到找到罪魁祸首。
  • 我认为情况并非如此。如果我在所有捆绑包之后加载带有代码的外部 JS 文件,这确实可以完美运行。我的开发人员也没有收到任何错误。
  • 您可以将输出的代码添加到您的问题中吗?至少围绕您的 alert 代码的部分。另外,您可以尝试在其他脚本的顶部添加警报 吗?
  • 嗨@tocqueville,我不明白你的第一个问题,但如果我在其他脚本之上添加警报(一开始)它也不起作用。我一无所知。

标签: javascript asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

样板制造商的回答:

“您需要阅读内容安全策略 (CSP)。默认情况下,内联脚本作为一项安全功能被阻止。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多