ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の実行順序を確認する方法: jQuery.html が *_jquery ではない

JavaScript の実行順序を確認する方法: jQuery.html が *_jquery ではない

WBOY
WBOYオリジナル
2016-05-16 18:10:011092ブラウズ
1. はじめに
前回の記事「JavaScriptの実行順序を保証する方法 - jQuery.htmlの徹底分析」では、jQuery.html関数が使える理由を明らかにしました。さまざまなブラウザ 動的 JS を連続的に実行し続ける秘訣は、外部 JavaScript の同期 AJAX 取得です。
HTML ソース コード (test2.htm) を簡単に確認してみましょう:
コードをコピーします コードは次のとおりです:




<script> <br>$(function(){ <br>$('#container').html('<script src= ./service.ashx?file=js/jquery-ui.js&lay=2000" type="text/javascript"></script>' '<script>alert(typeof(jQuery.ui));< /script>')>}); <br></script>
>< ;/div>



ちなみに、この方法で読み込まれた外部 JavaScript は、AJAX 以降ではデバッグできません。最後に、外部 JavaScript の解析とインライン JavaScript の解析は同じです (どちらも jQuery.globalEval を呼び出します):



この記事の主題に移りましょう: ロードされた JS が別のドメインにある場合でも、jQuery.html は各ブラウザーでの JS の順次実行を保証できますか?

2. テストケースを作成します

1) 2 つのドメイン名を準備します

テスト用に、個人のホームページ (http://sanshi.me/) の下に一時的に 2 つのサブドメインを作成しました。それぞれ:
http://test.sanshi.me/
http://test1.sanshi.me/ 2) デモページ (test2_1.htm) を更新します
test2_1 を追加します。 htm は最初のサブドメイン名の下に配置され、アクセスアドレスは http://test.sanshi.me/jsorder/test2_1.htm です。そのソースコードは次のとおりです。




コードをコピーします

コードは次のとおりです: </ title> </a><script src="js/jquery-1.4.4.js" type="text/javascript"></span><script> { </div>$( '#container').html('<script src="http://test1.sanshi.me/jsorder/service.ashx?file=js/jquery-ui.js&lay=2000" タイプ="text/javascript" ></script>' <script>alert(typeof(jQuery.ui));</script>'); <div class="codebody" id="code87375"></script> ; <BR></head><br></div> /html> <br> <br> <br>可以看到,其中的jQueryUI脚本指向的是第二个域名下的(test1.sanshi.me)。 <br><strong>3) 在不同浏览器下测试 <br></strong> <table style="FONT-SIZE: medium; MARGIN-LEFT: 10.5pt; WIDTH: 413.1pt; BORDER-TOP-STYLE: none; LINE-HEIGHT: normal; FONT-FAMILY: Simsun; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-COLLAPSE: collapse; BORDER-BOTTOM-STYLE: none" cellspacing="0" cellpadding="0" width="689" border="1"> <tbody> <tr> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 67.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="112"></td> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; WIDTH: 345.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="576"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left">test2_1.htm</p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left"><span style="FONT-FAMILY: 宋体">使用</span>jQuery.html<span style="FONT-FAMILY: 宋体">函数动态加载其它域下的</span>JavaScript</p> </td> </tr> <tr> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 67.25pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="112"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left">Firefox 3.6</p> </td> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; WIDTH: 345.85pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="576"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224645741.gif" style="max-width:90%" border="0" v:shapes="图片_x0020_1"></p> </td> </tr> <tr> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 67.25pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="112"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left">IE 8</p> </td> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; WIDTH: 345.85pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="576"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224646633.gif" style="max-width:90%" border="0" v:shapes="_x0000_i1033"></p> </td> </tr> <tr> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 67.25pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="112"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left">Chrome 10</p> </td> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; WIDTH: 345.85pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="576"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224646172.gif" style="max-width:90%" border="0" v:shapes="图片_x0020_22"></p> </td> </tr> <tr> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 67.25pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="112"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left">Safari 4</p> </td> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; WIDTH: 345.85pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="576"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224646990.jpg" style="max-width:90%" border="0" v:shapes="_x0000_i1031"></p> </td> </tr> <tr> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 67.25pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="112"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left">Opera 11</p> </td> <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; WIDTH: 345.85pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="576"> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: left" align="left"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224647443.gif" style="max-width:90%" border="0" v:shapes="_x0000_i1030"></p> </td> </tr> </tbody> </table> <br><strong>3. jQuery.html并非万能钥匙</strong>,那么 <br>不知道大家是否还记得我们在第一篇文章中提到的test3.htm不,这个结果和那个示例的结果一模一样,jQuery.html也并非万能钥匙。这不禁让我们怀疑这两个示例的内部逻辑是否一样? <br>但是第二篇文章不是明明白白告诉我们,jQuery.html使用的是同步AJAX的机制来加载外部JS的么?等等。。。。。。 <br>大家有没有从上面的分析中发现问题,AJAX来加载其他域的资源,这不是明摆着违背了大名鼎鼎的同源策略(<a href="http://en.wikipedia.org/wiki/Same_origin_policy" target="_blank">Same Origin Policy</a>)了么?所以jQuery不可能这么实现,我们来看看jQuery.ajax文档是怎么说的: <br> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224647347.gif" style="max-width:90%" border="0" v:shapes="图片_x0020_7"></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><span style="FONT-FAMILY: 宋体">看来我们在第二篇文章中看到的这个函数(</span>evalScript<span style="FONT-FAMILY: 宋体">)内部并非真的通过同步</span>AJAX<span style="FONT-FAMILY: 宋体">来获取数据:</span></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224647184.gif" style="max-width:90%" border="0" v:shapes="图片_x0020_13"></p> <br><strong>4. 深入jQuery.ajax函数,看看怎么加载不同域下的JS文件 <br></strong> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224648487.gif" style="max-width:90%" border="0" v:shapes="图片_x0020_16"></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><span style="FONT-FAMILY: 宋体">注释已经写的很清楚了,如果是通过</span>GET<span style="FONT-FAMILY: 宋体">方式请求</span>JavaScript<span style="FONT-FAMILY: 宋体">文件,并且这个文件是在其他域下面的(</span>remote<span style="FONT-FAMILY: 宋体">),那么就通过在</span>head<span style="FONT-FAMILY: 宋体">中添加</span>script<span style="FONT-FAMILY: 宋体">标签来处理,而不是走</span>AJAX<span style="FONT-FAMILY: 宋体">的流程。所以在这个条件分支结束的时候,直接从函数体返回:</span></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224648983.gif" style="max-width:90%" border="0" v:shapes="图片_x0020_19"><br></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><span style="FONT-FAMILY: 宋体">经过分析,我们发现在动态加载不同域的</span>JavaScript<span style="FONT-FAMILY: 宋体">时,</span>jQuery.html<span style="FONT-FAMILY: 宋体">其实采用了在</span>head<span style="FONT-FAMILY: 宋体">中添加</span>script<span style="FONT-FAMILY: 宋体">标签的做法(不管是外部</span>JS<span style="FONT-FAMILY: 宋体">或者内联</span>JS<span style="FONT-FAMILY: 宋体">),这和我们在第一篇文章中提到的</span>test3.htm<span style="FONT-FAMILY: 宋体">是一模一样的逻辑,这也验证了我们的想法:</span></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><img style="max-width:90%" alt="" src="http://files.jb51.net/upload/201103/20110303224648482.gif" style="max-width:90%" border="0" v:shapes="图片_x0020_4"></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"> </p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><span style="FONT-FAMILY: 宋体">由此可见,如果想兼容</span>CDN<span style="FONT-FAMILY: 宋体">加速静态资源的情况,还必须使用第一篇文章中提到的“<strong>方案一,如何在动态添加</strong></span><strong>script</strong><strong><span style="FONT-FAMILY: 宋体">标签时确保执行顺序</span></strong><span style="FONT-FAMILY: 宋体">”。</span></p> <h2> <span>5.<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体">Postscript</span> </h2> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><span style="FONT-FAMILY: 宋体">Originally this series of articles should have ended here. However, after I tested </span>jQuery1.5.1<span style="FONT-FAMILY: 宋体">, I actually found that it was different from the </span>jQuery1.4.4<span style="FONT-FAMILY: 宋体"> I used. I had long heard that </span>jQuery1.5.1<a style="COLOR: blue; TEXT-DECORATION: underline" href="http://blog.jquery.com/2011/01/31/jquery-15-released/"><span style="FONT-FAMILY: 宋体"><span>Refactored the </span>AJAX<span style="FONT-FAMILY: 宋体"> part</span></span></a><span style="FONT-FAMILY: 宋体">. Unexpectedly, it really had some impact on our code. </span></p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"> </p> <p style="FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; FONT-FAMILY: Calibri, sans-serif; TEXT-ALIGN: justify"><span style="FONT-FAMILY: 宋体">For the specific impact, please see the next article: How to ensure the execution order of </span>JavaScript<span style="FONT-FAMILY: 宋体"></span> - <span style="FONT-FAMILY: 宋体"> between </span>jQuery1.5.1<span style="FONT-FAMILY: 宋体"> and </span>Slight differences in jQuery1.4.4<span style="FONT-FAMILY: 宋体">. to be continued. . . </span></p> </div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="jquery_jquery でラベル切り替え効果を実現するコード" href="http://m.php.cn/ja/faq/20387.html">jquery_jquery でラベル切り替え効果を実現するコード</a></span><span>次の記事:<a class="dBlack" title="jquery_jquery でラベル切り替え効果を実現するコード" href="http://m.php.cn/ja/faq/20389.html">jquery_jquery でラベル切り替え効果を実現するコード</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="http://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ja/faq/1609.html" title="Bootstrap リスト グループ コンポーネントの詳細な分析" class="aBlack">Bootstrap リスト グループ コンポーネントの詳細な分析</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1640.html" title="JavaScript関数のカリー化の詳細説明" class="aBlack">JavaScript関数のカリー化の詳細説明</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1949.html" title="JS パスワードの生成と強度検出の完全な例 (デモ ソース コードのダウンロード付き)" class="aBlack">JS パスワードの生成と強度検出の完全な例 (デモ ソース コードのダウンロード付き)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/2248.html" title="Angularjs は WeChat UI (weui) を統合します" class="aBlack">Angularjs は WeChat UI (weui) を統合します</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/2351.html" title="JavaScript を使用して繁体字中国語と簡体字中国語をすばやく切り替える方法と、簡体字中国語と繁体字中国語の切り替えをサポートする Web サイトのトリック_javascript スキル" class="aBlack">JavaScript を使用して繁体字中国語と簡体字中国語をすばやく切り替える方法と、簡体字中国語と繁体字中国語の切り替えをサポートする Web サイトのトリック_javascript スキル</a><div class="clear"></div></li></ul></div></div><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/ja/"><b class="icon1"></b><p>ホームページ</p></a></li><li><a href="http://m.php.cn/ja/course.html"><b class="icon2"></b><p>コース</p></a></li><li><a href="http://m.php.cn/ja/wenda.html"><b class="icon4"></b><p>に質問</p></a></li><li><a href="http://m.php.cn/ja/login"><b class="icon5"></b><p>私の</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/ja/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/ja/"><b class="icon1"></b><span>ホームページ</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/course.html"><b class="icon2"></b><span>コース</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/article.html"><b class="icon3"></b><span>記事</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/wenda.html"><b class="icon4"></b><span>に質問</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/dic.html"><b class="icon6"></b><span>辞書</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/course/type/99.html"><b class="icon7"></b><span>マニュアル</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/xiazai/"><b class="icon8"></b><span>ダウンロード</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/faq/zt" title="特集"><b class="icon12"></b><span>特集</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/ja/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/ja/" >ホームページ</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/article.html" class="hover">記事</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/wenda.html" >に質問</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/course.html" >コース</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/faq/zt" >特集</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/xiazai" >ダウンロード</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/game" >ゲーム</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/dic.html" >辞書</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:setlang('fr');" class="language course-right-orders chooselan " href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>