1

我碰壁了:基本上,Javascript 似乎在我的游戏页面中不起作用。

所以我有一个视图main.scala.html作为其他视图的模板。这个文件看起来像这样:

@(page : String, title: String)(content: Html)

<!DOCTYPE html>
<html lang="en">
<head>
    <title>@title</title>
    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap.min.css")">
    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
    <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
    <script src="@routes.Assets.at("javascripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
    <script src="@routes.Assets.at("javascripts/bootstrap.min.js")" type="text/javascript"></script>
</head>
<body>
<!--some stuff-->
@content
</body>
</html>

所以我尝试<a href="#" onclick="alert('thing')">thing</a>在视图的主体中放置一个简单的。

- 首先在 main.scala.html 模板中

- 然后在使用此模板的视图中

-终于在一个thing.html中,没有任何链接,与Play一样!我在浏览器中打开的框架:

<html lang="en">
<head>
    <title>title</title>
</head>
<body>
    <a href="#" onclick="alert('truc')">truc</a>
</body>

只有第三个选项返回想要的结果:其中包含一个弹出窗口thing

我的问题是:为什么我的 javascript 没有被 play 处理?我是否必须“ import”一些全局 javascript 功能才能使用它?

感谢您的帮助,如果您需要更多信息,请告诉我。

4

2 回答 2

0

Play 生成正常的 HTML 代码 - 浏览器不关心生成它的软件类型,所以我怀疑,你脑子里的一些 JS 文件的路径有错误,所以它避免运行其他脚本,使用某种检查器您的浏览器,以验证所有资源是否已正确下载。还要检查 JS 控制台,很可能显示了一些错误。

另一方面,将简单的 JS 直接放在视图中通常可以正常工作,但是,请记住,视图的渲染器可能会将某些 JS 典型语法视为 Play 的标签或其他东西,因此您需要在渲染后进行控制JS 不会被这个过程“损坏”。对于您想要使用更高级 JS 的视图,以与您使用 forjquery.jsbootstrap.js

于 2013-06-19T08:20:33.750 回答
0

可能是你忘了写

@main(title = "my title") {
 <h1>Other html<h1>
 <p>My js here</p>
 <a href="#" onclick="alert('truc')">truc</a>
}

PS:如果有帮助不要忘记你不应该再白头 htmlbody标签,它已经包含了。否则,您将拥有无效的 html,并且它将在所有浏览器中呈现错误

于 2013-06-22T11:41:57.767 回答