<code id="i4quw"></code>
  • <pre id="i4quw"></pre>
    <dfn id="i4quw"><fieldset id="i4quw"></fieldset></dfn>

      \n
      \n \n <\/rect>\n <\/svg>\n <\/canvas>\n \"How<\/p>\n

      將 SVG 數(shù)據(jù)轉(zhuǎn)換為光柵化數(shù)據(jù)<\/h2>\n
      gsap.timeline({\n  onUpdate: () => {\n    const xml = new XMLSerializer().serializeToString(svg);\n    const src = `data:image\/svg+xml;base64,${btoa(xml)}`;\n    animationFrames.push(src);\n  },\n  onComplete: () => {\n    let inc = 0;\n    const renderSvgDataToCanvas = () => {\n      const virtualImage = new Image();\n      virtualImage.src = animationFrames[inc];\n      virtualImage.onload = () => {\n        ctx.clearRect(0, 0, 400, 200);\n        ctx.drawImage(virtualImage, 0, 0, 400, 200);\n        canvasFrames.push(canvas.toDataURL('image\/jpeg'));\n        inc++;\n        if (inc < animationFrames.length) {\n          renderSvgDataToCanvas();\n        } else {\n          \/\/console.log(canvasFrames); \/\/調(diào)試用\n          generateGif();\n        }\n      };\n    };\n    renderSvgDataToCanvas();\n  },\n})\n.fromTo('#rect', { x: -50 }, { duration: 2, x: 350, ease: 'power.ease2' });<\/pre>\n

      此步驟稍微複雜一些,需要對(duì) animationFrames 數(shù)組的每個(gè)索引執(zhí)行一個(gè)操作。 <\/p>\n

      通過(guò)使用遞歸函數(shù) renderSvgDataToCanvas,我可以使用 animationFrames 數(shù)組中的圖像數(shù)據(jù),將其寫(xiě)入畫(huà)布。然後,通過(guò)使用 canvas.toDataURL('image\/jpeg'),我可以將動(dòng)畫(huà)每一幀的光柵化數(shù)據(jù)存儲(chǔ)在 canvasFrames 數(shù)組中。 <\/p>\n

      如果已在 onComplete 函數(shù)中添加 console.log,則應(yīng)在瀏覽器控制臺(tái)中看到類(lèi)似於以下內(nèi)容。但是,這次請(qǐng)注意數(shù)據(jù)的 MIME 類(lèi)型:它不是 svg xml,而是 image\/jpeg。這對(duì)於我接下來(lái)要做的工作很重要。 <\/p>\n

      \"How<\/p>

      將光柵化數(shù)據(jù)轉(zhuǎn)換為 GIF<\/h2>\n

      這是最後一步,它涉及將 canvasFrames 數(shù)組的每個(gè)索引傳遞到 modern-gif。 <\/p>\n

      \n\n\n  \n  Simple<\/title>\n<\/head>\n<body>
      <h1><a href="http://ipnx.cn/">亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱</a></h1>\n  <main>\n    <svg id='svg'\n      xmlns='http:\/\/www.w3.org\/2000\/svg'\n      viewBox='0 0 400 200'\n      width={400}\n      height={200}\n      style={{ border: '1px solid red' }}\n    >\n      <rect id='rect' x='0' y='75' width='50' height='50' fill='red'><\/rect>\n    <\/svg>\n    <canvas id='canvas' style={{ border: '1px solid blue' }} width={400} height={200}><\/canvas>\n    <img src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/000\/173898187373194.jpg\" alt=\"How to Create Animated GIFs from GSAP Animations \" \/><\/p>\n<h2>將 SVG 數(shù)據(jù)轉(zhuǎn)換為光柵化數(shù)據(jù)<\/h2>\n<pre><code class=\"language-javascript\">gsap.timeline({\n  onUpdate: () => {\n    const xml = new XMLSerializer().serializeToString(svg);\n    const src = `data:image\/svg+xml;base64,${btoa(xml)}`;\n    animationFrames.push(src);\n  },\n  onComplete: () => {\n    let inc = 0;\n    const renderSvgDataToCanvas = () => {\n      const virtualImage = new Image();\n      virtualImage.src = animationFrames[inc];\n      virtualImage.onload = () => {\n        ctx.clearRect(0, 0, 400, 200);\n        ctx.drawImage(virtualImage, 0, 0, 400, 200);\n        canvasFrames.push(canvas.toDataURL('image\/jpeg'));\n        inc++;\n        if (inc < animationFrames.length) {\n          renderSvgDataToCanvas();\n        } else {\n          \/\/console.log(canvasFrames); \/\/調(diào)試用\n          generateGif();\n        }\n      };\n    };\n    renderSvgDataToCanvas();\n  },\n})\n.fromTo('#rect', { x: -50 }, { duration: 2, x: 350, ease: 'power.ease2' });<\/pre>\n<p>使用 modernGif.encode,您可以將數(shù)據(jù)數(shù)組傳遞到 frames 並為每一幀定義延遲,我選擇添加 0 秒的延遲。 <\/p>\n<p>代碼的下一部分處理轉(zhuǎn)換 modernGif.ecode 數(shù)據(jù)並將其轉(zhuǎn)換為“另一個(gè)”MIME 類(lèi)型,這次是 image\/gif。 <\/p>\n<p>一旦我有了表示動(dòng)畫(huà) GIF 的最終“blob”數(shù)據(jù),我就將其轉(zhuǎn)換為 URL,然後設(shè)置 image 和 link 元素的 src 和 href,以便我可以在瀏覽器中查看和下載 GIF。 <\/p>\n<p><img src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/000\/173898187673605.jpg\" alt=\"How to Create Animated GIFs from GSAP Animations \"><\/p>\n<h2>幀速率<\/h2>\n<p>您可能會(huì)注意到最終的GIF 運(yùn)行速度相當(dāng)慢,這是因?yàn)樵跒g覽器中運(yùn)行的動(dòng)畫(huà)通常每秒播放60 幀(fps),而GIF 的幀速率通常要慢得多,為12 或24 fps。 <\/p>\n<p>為了“丟棄”一些動(dòng)畫(huà)幀,我使用數(shù)組過(guò)濾器和 JavaScript 餘數(shù)運(yùn)算符來(lái)確定索引是否可以被某個(gè)數(shù)字整除,在我的例子中,我選擇 6。不能被 6 整除的索引將從數(shù)組中過(guò)濾掉。生成的動(dòng)畫(huà) GIF 雖然有點(diǎn)笨拙,但播放速度會(huì)快得多。 <\/p>\n<p>我已經(jīng)在 <code>generateGif<\/code> 函數(shù)中添加了 <code>filter<\/code> 方法來(lái)實(shí)現(xiàn)幀速率的調(diào)整。 <\/p>\n<p>就是這樣,您可以通過(guò) HTML 畫(huà)布將 GSAP SVG 動(dòng)畫(huà)轉(zhuǎn)換為動(dòng)畫(huà) GIF! <\/p>\n<p>如果您對(duì)本文中描述的任何內(nèi)容有任何疑問(wèn),請(qǐng)隨時(shí)在 Twitter\/X 上找到我:@PaulieScanlon。 <\/p>"}	</script>
      	
      <meta http-equiv="Cache-Control" content="no-transform" />
      <meta http-equiv="Cache-Control" content="no-siteapp" />
      <script>var V_PATH="/";window.onerror=function(){ return true; };</script>
      </head>
      
      <body data-commit-time="2023-12-28T14:50:12+08:00" class="editor_body body2_2">
      	<link rel="stylesheet" type="text/css" href="/static/csshw/stylehw.css">
      <header>
          <div   id="wjcelcm34c"   class="head">
              <div   id="wjcelcm34c"   class="haed_left">
                  <div   id="wjcelcm34c"   class="haed_logo">
                      <a href="http://ipnx.cn/zh-tw/" title="" class="haed_logo_a">
                          <img src="/static/imghw/logo.png" alt="" class="haed_logoimg">
                      </a>
                  </div>
                  <div   id="wjcelcm34c"   class="head_nav">
                      <div   id="wjcelcm34c"   class="head_navs">
                          <a href="javascript:;" title="社群" class="head_nava head_nava-template1">社群</a>
                          <div   class="wjcelcm34c"   id="dropdown-template1" style="display: none;">
                              <div   id="wjcelcm34c"   class="languagechoose">
                                  <a href="http://ipnx.cn/zh-tw/article.html" title="文章" class="languagechoosea on">文章</a>
                                  <a href="http://ipnx.cn/zh-tw/faq/zt" title="合集" class="languagechoosea">合集</a>
                                  <a href="http://ipnx.cn/zh-tw/wenda.html" title="問(wèn)答" class="languagechoosea">問(wèn)答</a>
                              </div>
                          </div>
                      </div>
      
                      <div   id="wjcelcm34c"   class="head_navs">
                          <a href="javascript:;" title="學(xué)習(xí)" class="head_nava head_nava-template1_1">學(xué)習(xí)</a>
                          <div   class="wjcelcm34c"   id="dropdown-template1_1" style="display: none;">
                              <div   id="wjcelcm34c"   class="languagechoose">
                                  <a href="http://ipnx.cn/zh-tw/course.html" title="課程" class="languagechoosea on">課程</a>
                                  <a href="http://ipnx.cn/zh-tw/dic/" title="程式設(shè)計(jì)字典" class="languagechoosea">程式設(shè)計(jì)字典</a>
                              </div>
                          </div>
                      </div>
      
                      <div   id="wjcelcm34c"   class="head_navs">
                          <a href="javascript:;" title="工具庫(kù)" class="head_nava head_nava-template1_2">工具庫(kù)</a>
                          <div   class="wjcelcm34c"   id="dropdown-template1_2" style="display: none;">
                              <div   id="wjcelcm34c"   class="languagechoose">
                                  <a href="http://ipnx.cn/zh-tw/toolset/development-tools" title="開(kāi)發(fā)工具" class="languagechoosea on">開(kāi)發(fā)工具</a>
                                  <a href="http://ipnx.cn/zh-tw/toolset/website-source-code" title="網(wǎng)站源碼" class="languagechoosea">網(wǎng)站源碼</a>
                                  <a href="http://ipnx.cn/zh-tw/toolset/php-libraries" title="PHP 函式庫(kù)" class="languagechoosea">PHP 函式庫(kù)</a>
                                  <a href="http://ipnx.cn/zh-tw/toolset/js-special-effects" title="JS特效" class="languagechoosea on">JS特效</a>
                                  <a href="http://ipnx.cn/zh-tw/toolset/website-materials" title="網(wǎng)站素材" class="languagechoosea on">網(wǎng)站素材</a>
                                  <a href="http://ipnx.cn/zh-tw/toolset/extension-plug-ins" title="擴(kuò)充插件" class="languagechoosea on">擴(kuò)充插件</a>
                              </div>
                          </div>
                      </div>
      
                      <div   id="wjcelcm34c"   class="head_navs">
                          <a href="http://ipnx.cn/zh-tw/ai" title="AI工具" class="head_nava head_nava-template1_3">AI工具</a>
                      </div>
      
                      <div   id="wjcelcm34c"   class="head_navs">
                          <a href="javascript:;" title="休閒" class="head_nava head_nava-template1_3">休閒</a>
                          <div   class="wjcelcm34c"   id="dropdown-template1_3" style="display: none;">
                              <div   id="wjcelcm34c"   class="languagechoose">
                                  <a href="http://ipnx.cn/zh-tw/game" title="遊戲下載" class="languagechoosea on">遊戲下載</a>
                                  <a href="http://ipnx.cn/zh-tw/mobile-game-tutorial/" title="遊戲教程" class="languagechoosea">遊戲教程</a>
      
                              </div>
                          </div>
                      </div>
                  </div>
              </div>
                          <div   id="wjcelcm34c"   class="head_search">
                      <input id="key_words"  onkeydown="if (event.keyCode == 13) searchs('zh-tw')" class="search-input" type="text" autocomplete="off" name="keywords" required="required" placeholder="Block,address,transaction,news" value="">
                      <a href="javascript:;" title="搜尋"  onclick="searchs('zh-tw')"><img src="/static/imghw/find.png" alt="搜尋"></a>
                  </div>
                      <div   id="wjcelcm34c"   class="head_right">
                  <div   id="wjcelcm34c"   class="haed_language">
                      <a href="javascript:;" class="layui-btn haed_language_btn">繁體中文<i class="layui-icon layui-icon-triangle-d"></i></a>
                      <div   class="wjcelcm34c"   id="dropdown-template" style="display: none;">
                          <div   id="wjcelcm34c"   class="languagechoose">
                                                      <a href="javascript:setlang('zh-cn');" title="簡(jiǎn)體中文" class="languagechoosea">簡(jiǎn)體中文</a>
                                                      <a href="javascript:setlang('en');" title="English" class="languagechoosea">English</a>
                                                      <a href="javascript:;" title="繁體中文" class="languagechoosea">繁體中文</a>
                                                      <a href="javascript:setlang('ja');" title="日本語(yǔ)" class="languagechoosea">日本語(yǔ)</a>
                                                      <a href="javascript:setlang('ko');" title="???" class="languagechoosea">???</a>
                                                      <a href="javascript:setlang('ms');" title="Melayu" class="languagechoosea">Melayu</a>
                                                      <a href="javascript:setlang('fr');" title="Fran?ais" class="languagechoosea">Fran?ais</a>
                                                      <a href="javascript:setlang('de');" title="Deutsch" class="languagechoosea">Deutsch</a>
                                                  </div>
                      </div>
                  </div>
                  <span id="wjcelcm34c"    class="head_right_line"></span>
                                  <div style="display: block;" id="login" class="haed_login ">
                          <a href="javascript:;"  title="Login" class="haed_logina ">Login</a>
                      </div>
                      <div style="display: block;" id="reg" class="head_signup login">
                          <a href="javascript:;"  title="singup" class="head_signupa">singup</a>
                      </div>
                  
              </div>
          </div>
      </header>
      
      	
      	<main>
      		<div   id="wjcelcm34c"   class="Article_Details_main">
      			<div   id="wjcelcm34c"   class="Article_Details_main1">
      							<div   id="wjcelcm34c"   class="Article_Details_main1L">
      					<div   id="wjcelcm34c"   class="Article_Details_main1Lmain" id="Article_Details_main1Lmain">
      						<div   id="wjcelcm34c"   class="Article_Details_main1L1">目錄</div>
      						<div   id="wjcelcm34c"   class="Article_Details_main1L2" id="Article_Details_main1L2">
      							<!-- 左側(cè)懸浮,文章定位標(biāo)題1 id="Article_Details_main1L2s_1"-->
      															<div   id="wjcelcm34c"   class="Article_Details_main1L2s ">
      									<a href="#如何將-GSAP-動(dòng)畫(huà)轉(zhuǎn)換為-GIF" title="如何將 GSAP 動(dòng)畫(huà)轉(zhuǎn)換為 GIF" >如何將 GSAP 動(dòng)畫(huà)轉(zhuǎn)換為 GIF</a>
      								</div>
      																<div   id="wjcelcm34c"   class="Article_Details_main1L2s ">
      									<a href="#入門(mén)" title="入門(mén)" >入門(mén)</a>
      								</div>
      																<div   id="wjcelcm34c"   class="Article_Details_main1L2s ">
      									<a href="#將光柵化數(shù)據(jù)轉(zhuǎn)換為-GIF" title="將光柵化數(shù)據(jù)轉(zhuǎn)換為 GIF" >將光柵化數(shù)據(jù)轉(zhuǎn)換為 GIF</a>
      								</div>
      																<div   id="wjcelcm34c"   class="Article_Details_main1L2s ">
      									<a href="#幀速率" title="幀速率" >幀速率</a>
      								</div>
      														</div>
      					</div>
      				</div>
      							<div   id="wjcelcm34c"   class="Article_Details_main1M">
      					<div   id="wjcelcm34c"   class="phpgenera_Details_mainL1">
      						<a href="http://ipnx.cn/zh-tw/" title="首頁(yè)"
      							class="phpgenera_Details_mainL1a">首頁(yè)</a>
      						<img src="/static/imghw/top_right.png" alt="" />
      												<a href="http://ipnx.cn/zh-tw/web-designer.html"
      							class="phpgenera_Details_mainL1a">web前端</a>
      						<img src="/static/imghw/top_right.png" alt="" />
      												<a href="http://ipnx.cn/zh-tw/js-tutorial.html"
      							class="phpgenera_Details_mainL1a">js教程</a>
      						<img src="/static/imghw/top_right.png" alt="" />
      						<span>如何從GSAP動(dòng)畫(huà)創(chuàng)建動(dòng)畫(huà)GIF</span>
      					</div>
      					
      					<div   id="wjcelcm34c"   class="Articlelist_txts">
      						<div   id="wjcelcm34c"   class="Articlelist_txts_info">
      							<h1 class="Articlelist_txts_title">如何從GSAP動(dòng)畫(huà)創(chuàng)建動(dòng)畫(huà)GIF</h1>
      							<div   id="wjcelcm34c"   class="Articlelist_txts_info_head">
      								<div   id="wjcelcm34c"   class="author_info">
      									<a href="http://ipnx.cn/zh-tw/member/1468496.html"  class="author_avatar">
      									<img class="lazy"  data-src="https://img.php.cn/upload/avatar/000/000/001/66ea80d78848b538.png" src="/static/imghw/default1.png" alt="Christopher Nolan">
      									</a>
      									<div   id="wjcelcm34c"   class="author_detail">
      																			<a href="http://ipnx.cn/zh-tw/member/1468496.html" class="author_name">Christopher Nolan</a>
                                      										</div>
      								</div>
                      			</div>
      							<span id="wjcelcm34c"    class="Articlelist_txts_time">Feb 08, 2025 am	 10:31 AM</span>
      														
      						</div>
      					</div>
      					<hr />
      					<div   id="wjcelcm34c"   class="article_main php-article">
      						<div   id="wjcelcm34c"   class="article-list-left detail-content-wrap content">
      						<ins class="adsbygoogle"
      							style="display:block; text-align:center;"
      							data-ad-layout="in-article"
      							data-ad-format="fluid"
      							data-ad-client="ca-pub-5902227090019525"
      							data-ad-slot="3461856641">
      						</ins>
      						
      
      					<p>將 GSAP 動(dòng)畫(huà)轉(zhuǎn)換為動(dòng)畫(huà) GIF:使用 modern-gif 的分步指南</p>
      <p><strong>關(guān)鍵要點(diǎn)</strong></p>
      <ul>
      <li>可以使用一個(gè)過(guò)程將 GSAP 動(dòng)畫(huà)轉(zhuǎn)換為動(dòng)畫(huà) GIF,該過(guò)程涉及在每次調(diào)整補(bǔ)間時(shí)捕獲 SVG 數(shù)據(jù)並將其寫(xiě)入 HTML 畫(huà)布。然後,可以將此 SVG 數(shù)據(jù)轉(zhuǎn)換為光柵化圖像數(shù)據(jù),然後由 modern-gif 用於創(chuàng)建動(dòng)畫(huà) GIF 的每一幀。 </li>
      <li>轉(zhuǎn)換過(guò)程涉及多個(gè)步驟,包括捕獲 SVG 數(shù)據(jù)、將 SVG 數(shù)據(jù)轉(zhuǎn)換為光柵化數(shù)據(jù),最後將光柵化數(shù)據(jù)轉(zhuǎn)換為 GIF。每個(gè)步驟都涉及特定的代碼修改和使用數(shù)組來(lái)存儲(chǔ)捕獲和轉(zhuǎn)換的數(shù)據(jù)。 </li>
      <li>由於瀏覽器動(dòng)畫(huà)和 GIF 之間的幀速率通常不同,因此最終 GIF 的幀速率可能比原始動(dòng)畫(huà)慢。為了加快 GIF 的速度,可以使用數(shù)組過(guò)濾器和 JavaScript 餘數(shù)運(yùn)算符來(lái)確定索引是否可以被某個(gè)數(shù)字整除,從而丟棄一些幀。 </li>
      </ul>
      <p>本文將解釋如何使用 modern-gif 將使用 GSAP 創(chuàng)建的動(dòng)畫(huà)轉(zhuǎn)換為動(dòng)畫(huà) GIF。 </p>
      <p>以下是一個(gè)我之前製作的動(dòng)畫(huà)預(yù)覽:</p>
      <p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173898187154231.jpg" class="lazy" alt="How to Create Animated GIFs from GSAP Animations "></p>
      <p>在下面的鏈接中,您可以找到本文中將要參考的所有代碼的實(shí)時(shí)預(yù)覽:</p>
      <ul>
      <li>? 預(yù)覽:<ul>
      <li>索引:gsap-animation-to-gif.netlify.app</li>
      <li>簡(jiǎn)易版:gsap-animation-to-gif.netlify.app/simple</li>
      </ul>
      </li>
      <li>?? 代碼庫(kù):github.com/PaulieScanlon/gsap-animation-to-gif</li>
      </ul>
      <p>代碼庫(kù)中有兩個(gè)“頁(yè)面”。 index 包含上面 GIF 的所有代碼,simple 是本文中介紹的步驟的起點(diǎn)。 </p>
      <h2 id="如何將-GSAP-動(dòng)畫(huà)轉(zhuǎn)換為-GIF">如何將 GSAP 動(dòng)畫(huà)轉(zhuǎn)換為 GIF</h2>
      <p>我用來(lái)將 GSAP 動(dòng)畫(huà)轉(zhuǎn)換為 GIF 的方法涉及在補(bǔ)間的每次“更新”時(shí)捕獲 SVG 數(shù)據(jù)並將其寫(xiě)入 HTML 畫(huà)布。補(bǔ)間完成後,我就可以將 SVG 數(shù)據(jù)轉(zhuǎn)換為光柵化圖像數(shù)據(jù),modern-gif 可以使用它來(lái)創(chuàng)建動(dòng)畫(huà) GIF 的每一幀。 </p>
      <h2 id="入門(mén)">入門(mén)</h2>
      <p>這是我在簡(jiǎn)單示例中使用的代碼,我將用它來(lái)解釋從 GSAP 動(dòng)畫(huà)創(chuàng)建動(dòng)畫(huà) GIF 所需的每個(gè)步驟:</p>
      <pre class='brush:php;toolbar:false;'><!DOCTYPE html>
      <html lang='en'>
      <head>
        <meta charset='utf-8' />
        <title>Simple</title>
      </head>
      <body>
        <main>
          <svg id='svg'
            xmlns='http://www.w3.org/2000/svg'
            viewBox='0 0 400 200'
            width={400}
            height={200}
            style={{ border: '1px solid red' }}
          >
            <rect id='rect' x='0' y='75' width='50' height='50' fill='red'></rect>
          </svg>
          <canvas id='canvas' style={{ border: '1px solid blue' }} width={400} height={200}></canvas>
          <img src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/000/000/173898187373194.jpg"  class="lazy" alt="How to Create Animated GIFs from GSAP Animations " /></p>
      <h2>將 SVG 數(shù)據(jù)轉(zhuǎn)換為光柵化數(shù)據(jù)</h2>
      <pre class="brush:php;toolbar:false"><code class="javascript">gsap.timeline({
        onUpdate: () => {
          const xml = new XMLSerializer().serializeToString(svg);
          const src = `data:image/svg+xml;base64,${btoa(xml)}`;
          animationFrames.push(src);
        },
        onComplete: () => {
          let inc = 0;
          const renderSvgDataToCanvas = () => {
            const virtualImage = new Image();
            virtualImage.src = animationFrames[inc];
            virtualImage.onload = () => {
              ctx.clearRect(0, 0, 400, 200);
              ctx.drawImage(virtualImage, 0, 0, 400, 200);
              canvasFrames.push(canvas.toDataURL('image/jpeg'));
              inc++;
              if (inc < animationFrames.length) {
                renderSvgDataToCanvas();
              } else {
                //console.log(canvasFrames); //調(diào)試用
                generateGif();
              }
            };
          };
          renderSvgDataToCanvas();
        },
      })
      .fromTo('#rect', { x: -50 }, { duration: 2, x: 350, ease: 'power.ease2' });</pre>
      <p>此步驟稍微複雜一些,需要對(duì) animationFrames 數(shù)組的每個(gè)索引執(zhí)行一個(gè)操作。 </p>
      <p>通過(guò)使用遞歸函數(shù) renderSvgDataToCanvas,我可以使用 animationFrames 數(shù)組中的圖像數(shù)據(jù),將其寫(xiě)入畫(huà)布。然後,通過(guò)使用 canvas.toDataURL('image/jpeg'),我可以將動(dòng)畫(huà)每一幀的光柵化數(shù)據(jù)存儲(chǔ)在 canvasFrames 數(shù)組中。 </p>
      <p>如果已在 onComplete 函數(shù)中添加 console.log,則應(yīng)在瀏覽器控制臺(tái)中看到類(lèi)似於以下內(nèi)容。但是,這次請(qǐng)注意數(shù)據(jù)的 MIME 類(lèi)型:它不是 svg xml,而是 image/jpeg。這對(duì)於我接下來(lái)要做的工作很重要。 </p>
      <p><img src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/000/000/173898187413228.jpg"  class="lazy" alt="How to Create Animated GIFs from GSAP Animations " /></p><h2 id="將光柵化數(shù)據(jù)轉(zhuǎn)換為-GIF">將光柵化數(shù)據(jù)轉(zhuǎn)換為 GIF</h2>
      <p>這是最後一步,它涉及將 canvasFrames 數(shù)組的每個(gè)索引傳遞到 modern-gif。 </p>
      <pre class='brush:php;toolbar:false;'><!DOCTYPE html>
      <html lang='en'>
      <head>
        <meta charset='utf-8' />
        <title>Simple</title>
      </head>
      <body>
        <main>
          <svg id='svg'
            xmlns='http://www.w3.org/2000/svg'
            viewBox='0 0 400 200'
            width={400}
            height={200}
            style={{ border: '1px solid red' }}
          >
            <rect id='rect' x='0' y='75' width='50' height='50' fill='red'></rect>
          </svg>
          <canvas id='canvas' style={{ border: '1px solid blue' }} width={400} height={200}></canvas>
          <img src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/000/000/173898187373194.jpg"  class="lazy" alt="How to Create Animated GIFs from GSAP Animations " /></p>
      <h2>將 SVG 數(shù)據(jù)轉(zhuǎn)換為光柵化數(shù)據(jù)</h2>
      <pre class="brush:php;toolbar:false"><code class="javascript">gsap.timeline({
        onUpdate: () => {
          const xml = new XMLSerializer().serializeToString(svg);
          const src = `data:image/svg+xml;base64,${btoa(xml)}`;
          animationFrames.push(src);
        },
        onComplete: () => {
          let inc = 0;
          const renderSvgDataToCanvas = () => {
            const virtualImage = new Image();
            virtualImage.src = animationFrames[inc];
            virtualImage.onload = () => {
              ctx.clearRect(0, 0, 400, 200);
              ctx.drawImage(virtualImage, 0, 0, 400, 200);
              canvasFrames.push(canvas.toDataURL('image/jpeg'));
              inc++;
              if (inc < animationFrames.length) {
                renderSvgDataToCanvas();
              } else {
                //console.log(canvasFrames); //調(diào)試用
                generateGif();
              }
            };
          };
          renderSvgDataToCanvas();
        },
      })
      .fromTo('#rect', { x: -50 }, { duration: 2, x: 350, ease: 'power.ease2' });</pre>
      <p>使用 modernGif.encode,您可以將數(shù)據(jù)數(shù)組傳遞到 frames 並為每一幀定義延遲,我選擇添加 0 秒的延遲。 </p>
      <p>代碼的下一部分處理轉(zhuǎn)換 modernGif.ecode 數(shù)據(jù)並將其轉(zhuǎn)換為“另一個(gè)”MIME 類(lèi)型,這次是 image/gif。 </p>
      <p>一旦我有了表示動(dòng)畫(huà) GIF 的最終“blob”數(shù)據(jù),我就將其轉(zhuǎn)換為 URL,然後設(shè)置 image 和 link 元素的 src 和 href,以便我可以在瀏覽器中查看和下載 GIF。 </p>
      <p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173898187673605.jpg" class="lazy" alt="How to Create Animated GIFs from GSAP Animations "></p>
      <h2 id="幀速率">幀速率</h2>
      <p>您可能會(huì)注意到最終的GIF 運(yùn)行速度相當(dāng)慢,這是因?yàn)樵跒g覽器中運(yùn)行的動(dòng)畫(huà)通常每秒播放60 幀(fps),而GIF 的幀速率通常要慢得多,為12 或24 fps。 </p>
      <p>為了“丟棄”一些動(dòng)畫(huà)幀,我使用數(shù)組過(guò)濾器和 JavaScript 餘數(shù)運(yùn)算符來(lái)確定索引是否可以被某個(gè)數(shù)字整除,在我的例子中,我選擇 6。不能被 6 整除的索引將從數(shù)組中過(guò)濾掉。生成的動(dòng)畫(huà) GIF 雖然有點(diǎn)笨拙,但播放速度會(huì)快得多。 </p>
      <p>我已經(jīng)在 <code>generateGif</code> 函數(shù)中添加了 <code>filter</code> 方法來(lái)實(shí)現(xiàn)幀速率的調(diào)整。 </p>
      <p>就是這樣,您可以通過(guò) HTML 畫(huà)布將 GSAP SVG 動(dòng)畫(huà)轉(zhuǎn)換為動(dòng)畫(huà) GIF! </p>
      <p>如果您對(duì)本文中描述的任何內(nèi)容有任何疑問(wèn),請(qǐng)隨時(shí)在 Twitter/X 上找到我:@PaulieScanlon。 </p><p>以上是如何從GSAP動(dòng)畫(huà)創(chuàng)建動(dòng)畫(huà)GIF的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!</p>
      
      
      						</div>
      					</div>
      					<div   id="wjcelcm34c"   class="wzconShengming_sp">
      						<div   id="wjcelcm34c"   class="bzsmdiv_sp">本網(wǎng)站聲明</div>
      						<div>本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn</div>
      					</div>
      				</div>
      
      				<ins class="adsbygoogle"
           style="display:block"
           data-ad-format="autorelaxed"
           data-ad-client="ca-pub-5902227090019525"
           data-ad-slot="2507867629"></ins>
      
      
      
      				<div   id="wjcelcm34c"   class="AI_ToolDetails_main4sR">
      
      
      				<ins class="adsbygoogle"
              style="display:block"
              data-ad-client="ca-pub-5902227090019525"
              data-ad-slot="3653428331"
              data-ad-format="auto"
              data-full-width-responsive="true"></ins>
          
      
      
      					<!-- <div   id="wjcelcm34c"   class="phpgenera_Details_mainR4">
      						<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
      							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
      								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      									src="/static/imghw/hotarticle2.png" alt="" />
      								<h2>熱門(mén)文章</h2>
      							</div>
      							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796828723.html" title="Agnes Tachyon Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide |漂亮的德比志</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>1 個(gè)月前</span>
      										<span>By Jack chen</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796832397.html" title="Grass Wonder Build Guide |烏瑪媽媽漂亮的德比" class="phpgenera_Details_mainR4_bottom_title">Grass Wonder Build Guide |烏瑪媽媽漂亮的德比</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>3 週前</span>
      										<span>By Jack chen</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796833110.html" title="<??>:在森林裡99夜 - 所有徽章以及如何解鎖" class="phpgenera_Details_mainR4_bottom_title"><??>:在森林裡99夜 - 所有徽章以及如何解鎖</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>3 週前</span>
      										<span>By DDD</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796831605.html" title="烏瑪?shù)姆劢z漂亮的德比橫幅日程(2025年7月)" class="phpgenera_Details_mainR4_bottom_title">烏瑪?shù)姆劢z漂亮的德比橫幅日程(2025年7月)</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>3 週前</span>
      										<span>By Jack chen</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796828810.html" title="NYT'連接”提示7月2日,星期三:今天遊戲的線(xiàn)索和答案" class="phpgenera_Details_mainR4_bottom_title">NYT'連接”提示7月2日,星期三:今天遊戲的線(xiàn)索和答案</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>1 個(gè)月前</span>
      										<span>By DDD</span>
      									</div>
      								</div>
      														</div>
      							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
      								<a href="http://ipnx.cn/zh-tw/article.html">顯示更多</a>
      							</div>
      						</div>
      					</div> -->
      
      
      											<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3">
      							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
      								<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/hottools2.png" alt="" />
      									<h2>熱AI工具</h2>
      								</div>
      								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_bottom">
      																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173410641626608.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undress AI Tool" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_title">
      													<h3>Undress AI Tool</h3>
      												</a>
      												<p>免費(fèi)脫衣圖片</p>
      											</div>
      										</div>
      																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411540686492.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undresser.AI Undress" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_title">
      													<h3>Undresser.AI Undress</h3>
      												</a>
      												<p>人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片</p>
      											</div>
      										</div>
      																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411552797167.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="AI Clothes Remover" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_title">
      													<h3>AI Clothes Remover</h3>
      												</a>
      												<p>用於從照片中去除衣服的線(xiàn)上人工智慧工具。</p>
      											</div>
      										</div>
      																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411529149311.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Clothoff.io" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_title">
      													<h3>Clothoff.io</h3>
      												</a>
      												<p>AI脫衣器</p>
      											</div>
      										</div>
      																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173414504068133.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Video Face Swap" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_title">
      													<h3>Video Face Swap</h3>
      												</a>
      												<p>使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!</p>
      											</div>
      										</div>
      																</div>
      								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
      									<a href="http://ipnx.cn/zh-tw/ai">顯示更多</a>
      								</div>
      							</div>
      						</div>
      					
      
      
      					<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4">
      						<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
      							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
      								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      									src="/static/imghw/hotarticle2.png" alt="" />
      								<h2>熱門(mén)文章</h2>
      							</div>
      							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796828723.html" title="Agnes Tachyon Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide |漂亮的德比志</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>1 個(gè)月前</span>
      										<span>By Jack chen</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796832397.html" title="Grass Wonder Build Guide |烏瑪媽媽漂亮的德比" class="phpgenera_Details_mainR4_bottom_title">Grass Wonder Build Guide |烏瑪媽媽漂亮的德比</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>3 週前</span>
      										<span>By Jack chen</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796833110.html" title="<??>:在森林裡99夜 - 所有徽章以及如何解鎖" class="phpgenera_Details_mainR4_bottom_title"><??>:在森林裡99夜 - 所有徽章以及如何解鎖</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>3 週前</span>
      										<span>By DDD</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796831605.html" title="烏瑪?shù)姆劢z漂亮的德比橫幅日程(2025年7月)" class="phpgenera_Details_mainR4_bottom_title">烏瑪?shù)姆劢z漂亮的德比橫幅日程(2025年7月)</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>3 週前</span>
      										<span>By Jack chen</span>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/1796828810.html" title="NYT'連接”提示7月2日,星期三:今天遊戲的線(xiàn)索和答案" class="phpgenera_Details_mainR4_bottom_title">NYT'連接”提示7月2日,星期三:今天遊戲的線(xiàn)索和答案</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<span>1 個(gè)月前</span>
      										<span>By DDD</span>
      									</div>
      								</div>
      														</div>
      							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
      								<a href="http://ipnx.cn/zh-tw/article.html">顯示更多</a>
      							</div>
      						</div>
      					</div>
      
      
      											<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3">
      							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
      								<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/hottools2.png" alt="" />
      									<h2>熱工具</h2>
      								</div>
      								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_bottom">
      																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/toolset/development-tools/92" title="記事本++7.3.1" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab96f0f39f7357.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="記事本++7.3.1" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/toolset/development-tools/92" title="記事本++7.3.1" class="phpmain_tab2_mids_title">
      													<h3>記事本++7.3.1</h3>
      												</a>
      												<p>好用且免費(fèi)的程式碼編輯器</p>
      											</div>
      										</div>
      																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/toolset/development-tools/93" title="SublimeText3漢化版" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab97a3baad9677.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3漢化版" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/toolset/development-tools/93" title="SublimeText3漢化版" class="phpmain_tab2_mids_title">
      													<h3>SublimeText3漢化版</h3>
      												</a>
      												<p>中文版,非常好用</p>
      											</div>
      										</div>
      																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/toolset/development-tools/121" title="禪工作室 13.0.1" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab97ecd1ab2670.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="禪工作室 13.0.1" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/toolset/development-tools/121" title="禪工作室 13.0.1" class="phpmain_tab2_mids_title">
      													<h3>禪工作室 13.0.1</h3>
      												</a>
      												<p>強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境</p>
      											</div>
      										</div>
      																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58d0e0fc74683535.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="Dreamweaver CS6" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_title">
      													<h3>Dreamweaver CS6</h3>
      												</a>
      												<p>視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具</p>
      											</div>
      										</div>
      																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
      											<a href="http://ipnx.cn/zh-tw/toolset/development-tools/500" title="SublimeText3 Mac版" class="phpmain_tab2_mids_top_img">
      												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58d34035e2757995.png?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3 Mac版" />
      											</a>
      											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
      												<a href="http://ipnx.cn/zh-tw/toolset/development-tools/500" title="SublimeText3 Mac版" class="phpmain_tab2_mids_title">
      													<h3>SublimeText3 Mac版</h3>
      												</a>
      												<p>神級(jí)程式碼編輯軟體(SublimeText3)</p>
      											</div>
      										</div>
      																	</div>
      								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
      									<a href="http://ipnx.cn/zh-tw/ai">顯示更多</a>
      								</div>
      							</div>
      						</div>
      										
      
      					
      					<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4">
      						<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
      							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
      								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      									src="/static/imghw/hotarticle2.png" alt="" />
      								<h2>熱門(mén)話(huà)題</h2>
      							</div>
      							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/laravel-tutori" title="Laravel 教程" class="phpgenera_Details_mainR4_bottom_title">Laravel 教程</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/eyess.png" alt="" />
      											<span>1597</span>
      										</div>
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/tiezi.png" alt="" />
      											<span>29</span>
      										</div>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/php-tutorial" title="PHP教程" class="phpgenera_Details_mainR4_bottom_title">PHP教程</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/eyess.png" alt="" />
      											<span>1487</span>
      										</div>
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/tiezi.png" alt="" />
      											<span>72</span>
      										</div>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/nytminicrosswordanswe" title="NYT迷你填字遊戲答案" class="phpgenera_Details_mainR4_bottom_title">NYT迷你填字遊戲答案</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/eyess.png" alt="" />
      											<span>268</span>
      										</div>
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/tiezi.png" alt="" />
      											<span>587</span>
      										</div>
      									</div>
      								</div>
      															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
      									<a href="http://ipnx.cn/zh-tw/faq/newyorktimesdailybrief" title="NYT連接提示和答案" class="phpgenera_Details_mainR4_bottom_title">NYT連接提示和答案</a>
      									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/eyess.png" alt="" />
      											<span>129</span>
      										</div>
      										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
      											<img src="/static/imghw/tiezi.png" alt="" />
      											<span>836</span>
      										</div>
      									</div>
      								</div>
      														</div>
      							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
      								<a href="http://ipnx.cn/zh-tw/faq/zt">顯示更多</a>
      							</div>
      						</div>
      					</div>
      				</div>
      			</div>
      							<div   id="wjcelcm34c"   class="Article_Details_main2">
      					<div   id="wjcelcm34c"   class="phpgenera_Details_mainL4">
      						<div   id="wjcelcm34c"   class="phpmain1_2_top">
      							<a href="javascript:void(0);" class="phpmain1_2_top_title">Related knowledge<img
      									src="/static/imghw/index2_title2.png" alt="" /></a>
      						</div>
      						<div   id="wjcelcm34c"   class="phpgenera_Details_mainL4_info">
      
      													<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796828200.html" title="為什麼要將標(biāo)籤放在的底部?" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175139053194540.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="為什麼要將標(biāo)籤放在的底部?" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796828200.html" title="為什麼要將標(biāo)籤放在的底部?" class="phphistorical_Version2_mids_title">為什麼要將標(biāo)籤放在的底部?</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:22 AM</span>
      								<p class="Articlelist_txts_p">PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl</p>
      							</div>
      														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796828191.html" title="什麼是在DOM中冒泡和捕獲的事件?" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175139034116786.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="什麼是在DOM中冒泡和捕獲的事件?" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796828191.html" title="什麼是在DOM中冒泡和捕獲的事件?" class="phphistorical_Version2_mids_title">什麼是在DOM中冒泡和捕獲的事件?</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:19 AM</span>
      								<p class="Articlelist_txts_p">事件捕獲和冒泡是DOM中事件傳播的兩個(gè)階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。 1.事件捕獲通過(guò)addEventListener的useCapture參數(shù)設(shè)為true實(shí)現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委託,提高動(dòng)態(tài)內(nèi)容處理效率;5.捕獲可用於提前攔截事件,如日誌記錄或錯(cuò)誤處理。了解這兩個(gè)階段有助於精確控制JavaScript響應(yīng)用戶(hù)操作的時(shí)機(jī)和方式。</p>
      							</div>
      														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796828216.html" title="JavaScript模塊上的確定JS綜述:ES模塊與COMPORJS" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175139088179400.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript模塊上的確定JS綜述:ES模塊與COMPORJS" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796828216.html" title="JavaScript模塊上的確定JS綜述:ES模塊與COMPORJS" class="phphistorical_Version2_mids_title">JavaScript模塊上的確定JS綜述:ES模塊與COMPORJS</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:28 AM</span>
      								<p class="Articlelist_txts_p">ES模塊和CommonJS的主要區(qū)別在於加載方式和使用場(chǎng)景。 1.CommonJS是同步加載,適用於Node.js服務(wù)器端環(huán)境;2.ES模塊是異步加載,適用於瀏覽器等網(wǎng)絡(luò)環(huán)境;3.語(yǔ)法上,ES模塊使用import/export,且必須位於頂層作用域,而CommonJS使用require/module.exports,可在運(yùn)行時(shí)動(dòng)態(tài)調(diào)用;4.CommonJS廣泛用於舊版Node.js及依賴(lài)它的庫(kù)如Express,ES模塊則適用於現(xiàn)代前端框架和Node.jsv14 ;5.雖然可混合使用,但容易引發(fā)問(wèn)題</p>
      							</div>
      														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796829560.html" title="垃圾收集如何在JavaScript中起作用?" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175156097152256.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="垃圾收集如何在JavaScript中起作用?" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796829560.html" title="垃圾收集如何在JavaScript中起作用?" class="phphistorical_Version2_mids_title">垃圾收集如何在JavaScript中起作用?</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 04, 2025 am	 12:42 AM</span>
      								<p class="Articlelist_txts_p">JavaScript的垃圾回收機(jī)制通過(guò)標(biāo)記-清除算法自動(dòng)管理內(nèi)存,以減少內(nèi)存洩漏風(fēng)險(xiǎn)。引擎從根對(duì)像出發(fā)遍歷並標(biāo)記活躍對(duì)象,未被標(biāo)記的則被視為垃圾並被清除。例如,當(dāng)對(duì)像不再被引用(如將變量設(shè)為null),它將在下一輪迴收中被釋放。常見(jiàn)的內(nèi)存洩漏原因包括:①未清除的定時(shí)器或事件監(jiān)聽(tīng)器;②閉包中對(duì)外部變量的引用;③全局變量持續(xù)持有大量數(shù)據(jù)。 V8引擎通過(guò)分代回收、增量標(biāo)記、並行/並發(fā)回收等策略?xún)?yōu)化回收效率,降低主線(xiàn)程阻塞時(shí)間。開(kāi)發(fā)時(shí)應(yīng)避免不必要的全局引用、及時(shí)解除對(duì)象關(guān)聯(lián),以提升性能與穩(wěn)定性。</p>
      							</div>
      														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796836217.html" title="如何在node.js中提出HTTP請(qǐng)求?" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175234432058757.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="如何在node.js中提出HTTP請(qǐng)求?" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796836217.html" title="如何在node.js中提出HTTP請(qǐng)求?" class="phphistorical_Version2_mids_title">如何在node.js中提出HTTP請(qǐng)求?</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 13, 2025 am	 02:18 AM</span>
      								<p class="Articlelist_txts_p">在Node.js中發(fā)起HTTP請(qǐng)求有三種常用方式:使用內(nèi)置模塊、axios和node-fetch。 1.使用內(nèi)置的http/https模塊無(wú)需依賴(lài),適合基礎(chǔ)場(chǎng)景,但需手動(dòng)處理數(shù)據(jù)拼接和錯(cuò)誤監(jiān)聽(tīng),例如用https.get()獲取數(shù)據(jù)或通過(guò).write()發(fā)送POST請(qǐng)求;2.axios是基於Promise的第三方庫(kù),語(yǔ)法簡(jiǎn)潔且功能強(qiáng)大,支持async/await、自動(dòng)JSON轉(zhuǎn)換、攔截器等,推薦用於簡(jiǎn)化異步請(qǐng)求操作;3.node-fetch提供類(lèi)似瀏覽器fetch的風(fēng)格,基於Promise且語(yǔ)法簡(jiǎn)單</p>
      							</div>
      														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796828190.html" title="var vs Let vs const:快速JS綜述解釋器" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175139032133478.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="var vs Let vs const:快速JS綜述解釋器" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796828190.html" title="var vs Let vs const:快速JS綜述解釋器" class="phphistorical_Version2_mids_title">var vs Let vs const:快速JS綜述解釋器</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:18 AM</span>
      								<p class="Articlelist_txts_p">var、let和const的區(qū)別在於作用域、提升和重複聲明。 1.var是函數(shù)作用域,存在變量提升,允許重複聲明;2.let是塊級(jí)作用域,存在暫時(shí)性死區(qū),不允許重複聲明;3.const也是塊級(jí)作用域,必須立即賦值,不可重新賦值,但可修改引用類(lèi)型的內(nèi)部值。優(yōu)先使用const,需改變變量時(shí)用let,避免使用var。</p>
      							</div>
      														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796836292.html" title="JavaScript數(shù)據(jù)類(lèi)型:原始與參考" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175234579081669.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript數(shù)據(jù)類(lèi)型:原始與參考" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796836292.html" title="JavaScript數(shù)據(jù)類(lèi)型:原始與參考" class="phphistorical_Version2_mids_title">JavaScript數(shù)據(jù)類(lèi)型:原始與參考</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 13, 2025 am	 02:43 AM</span>
      								<p class="Articlelist_txts_p">JavaScript的數(shù)據(jù)類(lèi)型分為原始類(lèi)型和引用類(lèi)型。原始類(lèi)型包括string、number、boolean、null、undefined和symbol,其值不可變且賦值時(shí)復(fù)制副本,因此互不影響;引用類(lèi)型如對(duì)象、數(shù)組和函數(shù)存儲(chǔ)的是內(nèi)存地址,指向同一對(duì)象的變量會(huì)相互影響。判斷類(lèi)型可用typeof和instanceof,但需注意typeofnull的歷史問(wèn)題。理解這兩類(lèi)差異有助於編寫(xiě)更穩(wěn)定可靠的代碼。</p>
      							</div>
      														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
      								<a href="http://ipnx.cn/zh-tw/faq/1796828085.html" title="如何遍歷DOM樹(shù)(例如,parentnode,children,NextElementsibling)?" class="phphistorical_Version2_mids_img">
      									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
      										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175138796239016.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="如何遍歷DOM樹(shù)(例如,parentnode,children,NextElementsibling)?" />
      								</a>
      								<a href="http://ipnx.cn/zh-tw/faq/1796828085.html" title="如何遍歷DOM樹(shù)(例如,parentnode,children,NextElementsibling)?" class="phphistorical_Version2_mids_title">如何遍歷DOM樹(shù)(例如,parentnode,children,NextElementsibling)?</a>
      								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 02, 2025 am	 12:39 AM</span>
      								<p class="Articlelist_txts_p">DOM遍歷是網(wǎng)頁(yè)元素操作的基礎(chǔ),常用方法包括:1.使用parentNode獲取父節(jié)點(diǎn),可鍊式調(diào)用向上查找;2.children返回子元素集合,通過(guò)索引訪(fǎng)問(wèn)首個(gè)或末尾子元素;3.nextElementSibling獲取下一個(gè)兄弟元素,結(jié)合previousElementSibling實(shí)現(xiàn)同級(jí)導(dǎo)航。實(shí)際應(yīng)用如動(dòng)態(tài)修改結(jié)構(gòu)、交互效果等,例如點(diǎn)擊按鈕高亮下一個(gè)兄弟節(jié)點(diǎn),掌握這些方法後復(fù)雜操作可通過(guò)組合實(shí)現(xiàn)。</p>
      							</div>
      													</div>
      
      													<a href="http://ipnx.cn/zh-tw/web-designer.html" class="phpgenera_Details_mainL4_botton">
      								<span>See all articles</span>
      								<img src="/static/imghw/down_right.png" alt="" />
      							</a>
      											</div>
      				</div>
      					</div>
      	</main>
      	<footer>
          <div   id="wjcelcm34c"   class="footer">
              <div   id="wjcelcm34c"   class="footertop">
                  <img src="/static/imghw/logo.png" alt="">
                  <p>公益線(xiàn)上PHP培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!</p>
              </div>
              <div   id="wjcelcm34c"   class="footermid">
                  <a href="http://ipnx.cn/zh-tw/about/us.html">關(guān)於我們</a>
                  <a href="http://ipnx.cn/zh-tw/about/disclaimer.html">免責(zé)聲明</a>
                  <a href="http://ipnx.cn/zh-tw/update/article_0_1.html">Sitemap</a>
              </div>
              <div   id="wjcelcm34c"   class="footerbottom">
                  <p>
                      ? php.cn All rights reserved
                  </p>
              </div>
          </div>
      </footer>
      
      <input type="hidden" id="verifycode" value="/captcha.html">
      
      
      
      
      		<link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
      	
      	
      	
      	
      	
      
      	
      	
      
      
      
      
      
      
      <footer>
      <div class="friendship-link">
      <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p>
      <a href="http://ipnx.cn/" title="亚洲国产日韩欧美一区二区三区">亚洲国产日韩欧美一区二区三区</a>
      
      <div class="friend-links">
      
      
      </div>
      </div>
      
      </footer>
      
      
      <script>
      (function(){
          var bp = document.createElement('script');
          var curProtocol = window.location.protocol.split(':')[0];
          if (curProtocol === 'https') {
              bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
          }
          else {
              bp.src = 'http://push.zhanzhang.baidu.com/push.js';
          }
          var s = document.getElementsByTagName("script")[0];
          s.parentNode.insertBefore(bp, s);
      })();
      </script>
      </body><div id="d1yjg" class="pl_css_ganrao" style="display: none;"><acronym id="d1yjg"></acronym><optgroup id="d1yjg"></optgroup><ol id="d1yjg"><big id="d1yjg"><meter id="d1yjg"></meter></big></ol><object id="d1yjg"></object><tr id="d1yjg"><menuitem id="d1yjg"></menuitem></tr><nav id="d1yjg"></nav><cite id="d1yjg"><source id="d1yjg"><pre id="d1yjg"><ul id="d1yjg"></ul></pre></source></cite><tbody id="d1yjg"></tbody><pre id="d1yjg"></pre><video id="d1yjg"></video><optgroup id="d1yjg"></optgroup><label id="d1yjg"></label><form id="d1yjg"><label id="d1yjg"></label></form><kbd id="d1yjg"><listing id="d1yjg"><cite id="d1yjg"></cite></listing></kbd><pre id="d1yjg"><dfn id="d1yjg"></dfn></pre><rp id="d1yjg"><track id="d1yjg"><small id="d1yjg"><code id="d1yjg"></code></small></track></rp><cite id="d1yjg"></cite><var id="d1yjg"><dl id="d1yjg"><dd id="d1yjg"></dd></dl></var><em id="d1yjg"></em><legend id="d1yjg"><var id="d1yjg"><strike id="d1yjg"><legend id="d1yjg"></legend></strike></var></legend><progress id="d1yjg"><del id="d1yjg"><b id="d1yjg"></b></del></progress><option id="d1yjg"><pre id="d1yjg"><s id="d1yjg"></s></pre></option><p id="d1yjg"></p><div id="d1yjg"><samp id="d1yjg"><em id="d1yjg"><small id="d1yjg"></small></em></samp></div><strike id="d1yjg"><samp id="d1yjg"></samp></strike><sub id="d1yjg"><button id="d1yjg"></button></sub><mark id="d1yjg"></mark><dd id="d1yjg"><blockquote id="d1yjg"><tt id="d1yjg"><option id="d1yjg"></option></tt></blockquote></dd><dl id="d1yjg"></dl><form id="d1yjg"><label id="d1yjg"><strike id="d1yjg"><dd id="d1yjg"></dd></strike></label></form><strong id="d1yjg"></strong><tbody id="d1yjg"><dfn id="d1yjg"><i id="d1yjg"><thead id="d1yjg"></thead></i></dfn></tbody><code id="d1yjg"></code><noframes id="d1yjg"><var id="d1yjg"></var></noframes><noframes id="d1yjg"></noframes><meter id="d1yjg"></meter><tt id="d1yjg"></tt><div id="d1yjg"></div><abbr id="d1yjg"></abbr><tt id="d1yjg"><delect id="d1yjg"></delect></tt><small id="d1yjg"></small><code id="d1yjg"><thead id="d1yjg"></thead></code><video id="d1yjg"></video><pre id="d1yjg"><rp id="d1yjg"><nobr id="d1yjg"><small id="d1yjg"></small></nobr></rp></pre><mark id="d1yjg"><form id="d1yjg"><nav id="d1yjg"><strike id="d1yjg"></strike></nav></form></mark><strike id="d1yjg"></strike><sup id="d1yjg"></sup><address id="d1yjg"></address><font id="d1yjg"></font></div>
      
      </html>