0

ローカル サーバーでは完全に機能する JavaScript のいくつかの単純なスクリプトが、オンラインではまったく機能しないことに気付きました。

これはどのように可能ですか?JS クライアント側スクリプト? 何か案は?

あまり情報を提供しておらず、私の英語についても申し訳ありません。

私のは一般的な質問でした。

例えば:

$('#posticipa').click(function(){
    var stato = $('#future').css('display');
    if(stato == 'none'){$('#future').css('display', 'block');}
    else{ $('#future').css('display', 'none');}
});

このコードは、Ubuntu 9.10、Firefox 3.6、3.5、Google chrome、Opera のローカル Apache サーバーで完全に動作します。

同じくApacheを実行しているリモートCentOSサーバーにアップロードすると、機能しません。Firebug またはコンソールにエラーは表示されません。動かないだけです。

両方のサーバーで同じバージョンの jQuery を使用しています。

4

3 に答える 3

2

ブラウザのコンソールでエラーを確認してください。Firefox の場合は firebug をインストールし、chrome の場合は Ctrl + Alt + J を押します。

于 2011-02-02T15:08:11.143 に答える
1

スクリプトが何をしようとしているのかによって異なります。"何か案は?" かなり広いです。ただし、クライアント側のスクリプトには、明らかにセキュリティ上の理由から、サーバー側よりも多くの制限があります。たとえば、クライアント側の JS を介してクライアントのファイル システムにアクセスできる場合、インターネット上の任意の Web サイトがシステムを制御できます。

JavaScript のセキュリティ制限

于 2011-02-02T15:04:46.783 に答える
0

編集した質問を見て、次の 2 つのいずれかが発生している可能性が最も高いと思います。

  • このコードがヒットする前に、ある種のエラーが原因で JS が失敗しています (しかし、FireBug はエラーを表示していないので、FB が正しくセットアップされていれば、これは問題ではないはずです)。
  • おそらくタグsrcの属性が正しくないため、スクリプト全体がヒットすることはありません。script

JS コードの非常に早い段階でdebugger;行またはどこかに挿入してみてください。alertこれにより、スクリプトがヒットしているかどうかがdebuggerわかります (ページをロードするときに FB の Script タグが有効になっている場合、コマンドは FireBug にデバッグ モードに入るように指示する必要があります)。

ヒットしない場合は、スクリプトのsrcURL が正しい、到達可能な URL であることを確認してください。そうである場合は、コードが起動しなくなるまで、その行を着実に下に移動します。これは、エラーがどこにあるかを理解するのに役立ちます。

于 2011-02-02T16:17:28.527 に答える