IE および Firefox_javascript スキルでの JScript と HREF の実行順序を解釈する

WBOY
リリース: 2016-05-16 19:06:46
オリジナル
1085 人が閲覧しました

長い間コーディングに関する記事を書いていませんでした。その主な理由は、最近の仕事が需要分析に重点を置いているためであり、現実の感情がなければ、書く動機がありません。 JScript の実行順序に関する問題について話し合います。サンプル コードは次のとおりです。
a.htm
Click Me!A onclick="func2('onclick')" href="d.htm">クリックしてください
<SCRIPT> ;<br>function func(str)<br>{<br> msg(str);<br> window.location.href="c.htm";<br>}<br>function msg(str)<br>{<br> document.getElementById("msg").innerText=str; //A<br> //alert(str);<br> window.location.href="e.htm" ;<br>}<br></SCRIPT>


msg(str) 行にコメントがあります。テスト中にそれぞれ A と B を実行します。

A
B
マウスアップ時 クリック マウスアップ時 クリック
IE b.htm
d.htm c.htm d.htm

ファイアフォックス c.htm
   A  B
 onmouseup  onclick  onmouseup onclick 
 IE  b.htm  d.htm  c.htm d.htm 
 FireFox  c.htm->b.htm  e.htm->d.htm  c.htm->b.htm e.htm->d.htm 
->b.htm
e.htm

->d.htm

c.htm
->b.htm
e.htm

->d.htm


上の表は主に 2 つのブラウザでの実行順序を示しています。赤色はページ スクリプトのジャンプ先のページを表し、青色はアンカー タグの href 属性を示します。上記からわかるように、FireFox の場合、常に最初にページ スクリプトが実行され、その後ブラウザがジャンプします。 IE での実行プロセスは異なります。

1. 戻るボタンを使用して a.htm に直接戻ります。つまり、ページは 1 つのジャンプのみを実行します。
2. アラートを使用して中断する場合、onmouseup が実行されます。ページスクリプト内でジャンプします。 上記からわかるように、
1. FireFox では、ページ スクリプトの実行順序がブラウザーに埋め込まれたスクリプトの実行順序よりも常に優先されます。 2. IE では、HREF の実行順序は onmouseup->href->onclick です。本当に?
2 の実行順序をより明確にするために、onclick と href の実行順序の関係を引き続き分析します。上記の例では、onclick を呼び出すことで実行されます。 a. 次のテスト コードを使用します:
Click Me!
Discover HREF を実行できません。
b. 次のテスト コードを使用する場合:
Click Me!
onclick の e.htm ではなく、HREF の d.htm がまだ 実行されていることがわかりました。

c. 次のテスト コードを使用する場合:

Click Me ! (関数 msg() のコードは上記の通り) は、 が関数 msg() を実行したことを検出しましたが、HREF がトリガーされませんでした。 めまいがする。 IE は確かに奇妙なものです。ケース b の現象を説明できるのは誰ですか?
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!