【问题标题】:JavaScript will not run at allJavaScript 根本不会运行
【发布时间】:2017-11-05 15:09:39
【问题描述】:

我有这个模板作为我的 sinatra layout.erb

<!DOCTYPE html>
<html>
<head>
    <title>Invoicer</title>
    <link rel="stylesheet" href="/static/css/bootstrap.min.css">
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <link rel="stylesheet" href="/static/css/font-awesome.min.css">
</head>
<body>
    <nav class="navbar navbar-default">
       ...
    </nav>
    <div class="container">
        <%= yield %>
    </div>
    <%#<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>%>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
    <script src="/static/js/bootstrap.min.js"/>
    <script src="/static/js/jobs/new.js" />
</body>
</html>

还有这个小的 javascript 调用

console.log("running")
$('#datepicker').datepicker()

服务器收到 200 对 js 文件的调用,但没有任何内容会打印到控制台或执行。

【问题讨论】:

  • 不要使用两个版本的 jQuery。
  • 我在哪里做的?第一个被注释掉了。 console.log 甚至不执行。控制台是空白的
  • 糟糕;我错过了

标签: javascript ruby sinatra


【解决方案1】:

始终使用&lt;script&gt;&lt;/script&gt;

&lt;script src="..." /&gt; 不是有效标签。解析HTML时,它认为&lt;script src="/static/js/jobs/new.js" /&gt;&lt;script src="/static/js/bootstrap.min.js"/&gt;标签的body中,如下所示:

...
<script src="/static/js/bootstrap.min.js">
  <script src="/static/js/jobs/new.js">
...

来自MDN &lt;script&gt; documentation

标签省略

无,开始和结束标记都是强制性的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多