1

そのため、Web サイトを作成していて、ページ内のスクリプトを少し移動したところ、突然、一部のスクリプトがクライアント PC で実行されなくなりました。いくつかのヒットアンドトライを行う必要があり、最終的には機能しましたが、問題の原因がわかりません。

これは機能していなかったときの構造です

<html>
<head>
<script type='text/javascript' src='somepath/script/jquery.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>
</head>
<body>
....lots of stuff
</body>
</html>
<script type='text/javascript' src="sompath/some_jquery_plugin.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>

これが当時の構造です

<html>
<head>
<script type='text/javascript' src='somepath/script/jquery.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>
</head>
<body>
....lots of stuff
</body>
</html>
<script type='text/javascript' src='somepath/script/jquery.js'></script>
<script type='text/javascript' src="sompath/some_jquery_plugin.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>

つまり、最後に追加の jquery.js が含まれていることに注意してください....

これを引き起こした可能性のある理由は何ですか?特に、私のシステムではすべてのブラウザーで動作していましたが、クライアントでは動作していなかったためです。

** *更新* ** * **** jquery が途中で動かなくなったと思います... つまり、最後にこのスクリプトがありました

$('#start').val('0000.00.00 00:00');
$('#end').val('0000.00.00 00:00');

しかし、「開始」および「終了」IDのフィールドには、指定されたデータが表示されませんでした。したがって、jquery を追加で含める必要があります。

4

1 に答える 1

0

最初のインライン スクリプトはjQuery.noConflict(または$.noConflict) を使用していますか? あなたの例の " " は、オブジェクト....lots of stuffを再定義する可能性のある Prototype のような他のライブラリをロードしますか? $これが問題かもしれません。

次の 2 番目のスクリプト タグにすべてのコードを挿入してみてください。

(function ($) {
    // YOUR CODE HERE
}(jQuery));

(そして2番目のjQueryインクルージョンを削除して)それが役立つかどうかを確認してください。

コードがすでにラップされている場合:

$(document).ready(function () {
    // your code
});

また:

$(function () {
    // your code
});

次に、次のように変更してみてください。

jQuery(document).ready(function ($) {
    // your code
});

また:

jQuery(function ($) {
    // your code
});

(の代わりであることに注意してくださいfunction ($)function ())

(プラグインが未定義または再定義で機能するように記述されていない場合に備えて、最初の jQuery のすぐ下にプラグインを配置する必要がある場合もありますが$、通常は適切に記述されたプラグインには必要ありません。)

于 2012-10-01T08:26:30.503 に答える