5

Jekyllを使用するGitHubPagesによってホストされているサイトがあり、各レイアウトで内部的に定義されたスクリプトを使用して、それらの配列からランダムなタグラインを生成することに成功しています。

このスクリプトを外部に移動しようとしていますtagline.jsが、これまでのところ失敗しています。

これは、コードに何かが原因で発生する場合の基本的なタグライン生成スクリプトです(正直なところ、その単純さのために疑わしいですが、常に可能性があります)。

var tags = [ 'tag1', 'tag2', 'tag3' ];

function getTag() {
    return tags[Math.floor(Math.random() * tags.length)];
}

$(document).ready(function() {
    $("#tagline").text(getTag());
});

私が言ったように、それが内部であるときはうまくいきますが、私が外部にリンクしようとするとうまくいきません。私が指しているのはまさにその場合だと確信してい<script>ます:を含むHTMLファイル<script>はにあります_layouts/default.htmlが、スクリプトはにありscripts/tagline.jsます:

<script type="text/javascript" href="../scripts/tagline.js"></script>
4

1 に答える 1

5

スクリプト呼び出しに使用する属性は、のsrc代わりになりhrefます。例えば:

<script type="text/javascript" src="../scripts/tagline.js"></script>

また、ファイルからの相対パスではなく、サイトルート(別名docroot)からのパスを使用することを強くお勧めします。そうすれば、同じ通話を複数の場所で使用でき、常に正しい場所に到達します。docroot相対URLを使用するには、パスを。で開始します/

スクリプトがにあると仮定するとhttp://example.com/scripts/tagline.js、呼び出す呼び出しは次のようになります。

<script type="text/javascript" src="/scripts/tagline.js"></script>

docrootを使用しない場合、スクリプトを呼び出すHTMLファイルがツリー内のどこにあるかに応じてパスを常に調整する必要があります。すべてのファイルが同じ場所にある場合、それは大したことではありませんが、将来の問題を回避するために入るのは良い習慣です。

于 2012-08-25T13:56:24.853 に答える