在 google appengine 网络应用程序中调用 JavaScript 函数时出现问题
Issue calling a JavaScript function in google appengine web app
我正在尝试调用位于单独的 .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",将 function ... {} 粘贴到其中,然后更改为:
<script src="hello.js"></script>
而且它不起作用!我尝试了 /hello.js、/webapp/hello.js 和许多其他组合。
我认为这与它是 appengine 的网络应用程序而不是网站这一事实有关,但我不知道如何正确指定我的 .js 文件的路径。
谢谢!
我能够通过修改我的 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文件中。
我正在尝试调用位于单独的 .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",将 function ... {} 粘贴到其中,然后更改为:
<script src="hello.js"></script>
而且它不起作用!我尝试了 /hello.js、/webapp/hello.js 和许多其他组合。 我认为这与它是 appengine 的网络应用程序而不是网站这一事实有关,但我不知道如何正确指定我的 .js 文件的路径。
谢谢!
我能够通过修改我的 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文件中。