【问题标题】:Issue calling a JavaScript function in google appengine web app在 google appengine web 应用程序中调用 JavaScript 函数的问题
【发布时间】:2019-05-31 14:29:11
【问题描述】:

我正在尝试调用位于单独 .js 文件中的 JavaScript 函数,但由于某些奇怪的原因,它不起作用。我确实尝试了 .js 文件的所有可能的相对路径和位置,但没有任何帮助。

这很好用:

<div style="border: 1px solid red; background-color: burlywood">
    <p id="debug"></p>
</div>
<script>
    function hello() {
        document.getElementById("debug").innerHTML = "hello";
    }
</script>

然后我在我的 webapp 文件夹中创建“hello.js”,将函数 ... {} 粘贴到其中,然后更改为:

<script src="hello.js"></script>

而且它不起作用!我尝试了 /hello.js、/webapp/hello.js 和许多其他组合。 我认为这与它是 appengine 的网络应用程序而不是网站这一事实有关,但我不知道如何正确指定 .js 文件的路径。

谢谢!

【问题讨论】:

  • 我认为我的问题和这里的完全一样:coderanch.com/t/523941/java/JSP-Identify-JS-CSS-file 但我无法重现解决方案
  • 你的app.yaml是什么样的?
  • 嘿,布雷特,我昨天已经通过在我的 appengine-web.xml 中正确考虑 *.js 文件(与 app.yaml 相同,但适用于 java 运行时)来修复它。如果其他人面临同样的问题,将其作为答案发布。谢谢!

标签: javascript jsp google-app-engine web-applications web.xml


【解决方案1】:

我可以通过修改我的 appengine-web.xml 文件来解决这个问题。显然所有 *.js 文件都必须包含在 部分中。我在文件中添加了以下内容:

  <static-files>
    <include path="/js/**.js" />
  </static-files>

将所有 *.js 文件放到 webapp/js/,并使用以下 src 属性:

<script src="js/file_name.js"></script>

现在一切正常。唯一需要注意的是静态文件是被缓存的,所以最好先在jsp文件中开发调试js代码,然后将最终版本移动到.js文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2011-04-24
    • 2011-07-28
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多