在页面中包含jquery.js和javascript.js

Include jquery.js and javascript.js in the page

本文关键字:js javascript jquery 包含      更新时间:2023-09-26

我正在尝试在我的页面上包含jquery.js和javascript.js文件,正如上一个问题中所建议的那样,通过Servlet类传递它,如下所示:

 response.getDocument().body().appendChild(new DataNode("<script src='"" + themeUri
                + "/js/nativeinit.js'" type='"text/javascript'"></script>",""));
        response.getDocument().body().appendChild(new DataNode("<script src='"" + themeUri
                + "/js/jquery.min.js'" type='"text/javascript'"></script>",""));

当我在浏览器中看到控制台时,尽管我看到了两个文件的消息:

Resource interpreted as Script but transferred with MIME type text/html: "http:8080/uri/js/nativeinit.js". myhost/:47
Resource interpreted as Script but transferred with MIME type text/html: "http:8080/uri/js/jquery.min.js". myhost/:47

然后:

Uncaught SyntaxError: Unexpected token <                     nativeinit.js:1
Uncaught SyntaxError: Unexpected token <                     jquery.min.js:1

出了什么问题,它不能将它们读成脚本?为什么会出现这种意外令牌的奇怪消息?我应该更改/添加什么?

更新:

我还在我的网络.xml中添加了文件:

<mime-mapping>
        <extension>js</extension>
        <mime-type>application/javascript</mime-type>
    </mime-mapping>

但是同一消息的问题仍然存在。我知道@Javascript注释是 vaadin 7 中的推荐方式,但我认为它也应该在通用方式上工作。我没有在 Servlet 类中设置内容类型。我只能在那里使用来自 https://vaadin.com/api/的类BootstrapPageRespone,它不提供来自ServletResponse的方法。否则,我也会以编程方式设置它。

检查这个问题:Chrome说"资源解释为脚本,但使用MIME类型文本/纯文本传输",什么给出? - 也许当浏览器请求您的脚本时,它会从服务器以文本/HTML的形式获得答案。检查服务器响应的 MIME 类型。

建议的方法是使用@Javascript批注,如本文所述。