1

私は Play で小さなアプリケーションを構築しており、すべての CSS および JS インポート (jQuery および main.js ファイル) を保持する「外部」テンプレートを持っています。上部に CSS、下部に JS があり、その間に body タグがあります...かなり基本的なもの:

<html>
    <head>
        <title>test</title>

        <link rel="stylesheet" href="@routes.Assets.at("stylesheets/foundation.css")">
        <link rel="stylesheet" href="@routes.Assets.at("stylesheets/main.css")">

        <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
    </head>

    <body>
        @content
    </body>

    <script src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")' type="text/javascript"></script>
    <script src='@routes.Assets.at("javascripts/index.js")' type="text/javascript"> </script>
</html>

それは結構です。

ただし、ページの内容に基づいて実行する必要があるページ固有の JavaScript 関数があります。したがって、localhost:9000/test にアクセスすると、特定の関数セットを実行する必要があります。localhost:9000/chips にアクセスすると、別の関数セットを実行する必要があります。

スクリプトで現在のページの URL をチェックし、それに基づいて関数を実行することを除いて、実際にはこれを行うためのきちんとした方法はわかりません...しかし、ルートファイルは現在のページの URL に基づいて既に処理を行っています - 奇妙に思えます似たようなことを2回しなければなりません。

1 つの解決策は、すべてのスクリプトを先頭に置き、HTML でインライン スクリプトを実行することですが、私はそのようなことをするのが嫌いです。

4

3 に答える 3

4

... documentationで非常に素晴らしく明確なサンプルを入手できます。

一番下までスクロールしてセクションを確認してください: moreScripts and moreStyles equals、サンプルを使用する準備ができています。

于 2013-05-01T20:10:28.550 に答える
0

テンプレートパラメータリンクとしてページに固有のJavaScriptを渡すことができます

于 2013-05-01T19:04:51.023 に答える