2016-10-04 7 views
0

私は、ウェブサイトにリンクされたjQueryでウェブページを構築しています。 問題は、何らかの理由でjQueryがスクリプトを読み込もうとしています。なぜjQueryがスクリプトを読み込もうとしていますか?

これは私のコードです:

<!DOCTYPE html> 
<html lang="nl"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Inloggen | Andalusier Vereniging</title> 
    <link rel="stylesheet" href="../css/prefixes.css" media="screen"> 
    <link rel="stylesheet" href="../css/loginstyle.min.css" media="screen"> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <!-- <script src="../js/assets/checks.js" charset="utf-8"></script> --> 
    <script src="lksdfj" type="text/javascript"></script> 

</head> 

    <body> 



    </body> 
</html> 

出力: enter image description here

EDIT:今enter image description here

jQueryのスクリプト(コメント)なし さてさて、私はちょうどことに気づきました2番目のCSSファイルのフォントリンク(@import)がこれを行います。私はそれを削除すると、それは2回実行を停止します。その他のアイデアは?

最終編集: この問題を明確にするのを手伝ってくれてありがとう。要約:ブラウザによっては、ファイルが見つかったかどうかを再確認する傾向がありますが、ファイルを2度実行することはありません。

だからここで何が起こっているのですか?これについて心配すべきですか?

私は良い答えを提供できる人に感謝します!

+8

''あなたに疑わしいと思わない?それはjQueryがやっていることではありません。あなたはそれを書いています。 – Mjh

+0

@Mjh彼は、jQueryがロードされているときに2度読み込まれることを意味していました。 –

+0

Gerrit、私はそれがjQueryの問題だとは思わない。あなたのコード(Firefox)を実行すると、何らかの理由で、見つからないスクリプトを読み込もうとすることがあります。 –

答えて

1

これは2倍のファイル読み込みではありません(つまり、jQueryは2回目のファイルを実行しようとしません)、同じエラーが2回あります。

ブラウザはサーバーとの間で多数のTCP接続を開き、ページのレンダリングに必要なファイルを取得します。したがって、ブラウザは、実行する必要がある前にファイルが見つからないことを認識します。

ここに私の要点があります。既存の2つのファイル "xm.html"と "exist.js"(xmmmm:Pのxm) と存在しないファイルを "dont_exist.js"と呼ぶことができます。

だから、 "xm.html" のコードは次のとおりです。

<!DOCTYPE html> 
<html lang="nl"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Test Html</title> 

     <script type="text/javascript">console.log('Execute code 1');</script> 

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

     <script type="text/javascript">console.log('Execute code 3');</script> 

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

     <script type="text/javascript">console.log('Execute code 5');</script> 

    </head> 
    <body> 
    </body> 
</html> 

そして "exist.js" のコードが

console.log('Execute code 2'); 

だから私のクロムの出力がある:

enter image description here

ファイルのjsコードが実行される可能性があります。

しかし、Firefoxのいくつかの倍の出力をこの:

enter image description here

だから、最初のエラーは、ファイルが見つからなかったことが404エラーですが、Firefoxはしばらく後に正しい順序でファイルを実行しようとしたので、私が想定しているpropusをデバッグするために同じメッセージが表示されました。

もう少し説明しましょう。 ブラウザがファイルをどのように処理するかによって異なります。

jQueryはサーバー上にないため、tcp接続でブラウザに複数のtcp接続が必要です。

したがって、ブラウザは、プリロードして実行しないで、必要なだけ多くのファイルを早急に取得しようとします。

jQueryファイルのダウンロードには、他のファイルが待機するまでに時間がかかることがあります。

ファイルが見つからないときは、エラー404が表示されますが、ファイルがプリロードされていないと思えば、再度ロードしようとします(tcp接続がまだ実行中の場合は何も必要ありません)。

ブラウザはファイルを2回実行しません。

+0

スクリプトファイルをjqueryスクリプトファイルの上に置きます。その後、一度だけロードされます。 – Gurria

+0

ルック:http://i.stack.imgur.com/UC50S.png - ネットワークタブに2回、別の時代に表示されています。ファイルをロードしようとするのは2回です。 – Theraot

+0

サーバとのtcp接続は "Keep-Alive"で、ブラウザが実際にファイルが存在しないことを確認するために再度問い合わせることができますが、これはjQueryとは関係ありません。 その上に他のスクリプトがない場合は、それをプリロードしません。 – GramThanos

関連する問題