getServerSideProps() 沒有被呼叫 nextJS 13
P粉211600174
P粉211600174 2023-10-31 15:38:58

試圖熟悉 nextJS 13。 我遇到的是 getServerSideProps 函數沒有預先渲染頁面道具。這是我第一次嘗試,所以我不知道我是否做錯了。

這裡是/app/login/page.js

#
import Content from "@/components/content";
import LoginForm from "@/components/loginForm";
import Title from "@/components/title";

function Login({ message }) {
    return (
        <Content>
            <div className="ml-2 my-2">
                {message || "NextJS is ok."}
                <Title text="Login" />
            </div>
            <LoginForm />
        </Content>
    );
}

export default Login;

export async function getServerSideProps() {
    console.log("running getServerSideProps function..");
    return {
        props: { message: "NextJS is awesome!" },
    };
}

我在這裡想要實現的關鍵是在顯示登入頁面之前使用 axios 請求檢查伺服器的會話金鑰。如果使用者已登錄,則應將使用者重新導向至主頁。如果我能夠使此功能正常工作,這是未來的程式碼:

export async function getServerSideProps() {
    console.log("Im running getServerSideProps funct ");
    let isLoggedIn = false;
    try {
        const response = await api.get("/users/session-check", {
            withCredentials: true,
        });
        if (response.status === 200) isLoggedIn = true;
    } catch (err) {
        console.log(err.message);
    }
    if (isLoggedIn) {
        return {
            redirect: {
                destination: "/",
                permanent: false,
            },
        };
    }
    return {
        props: {},
    };
}

我嘗試使用 npm run dev 仍然得到相同的結果...

P粉211600174
P粉211600174

全部回覆(2)
P粉166779363

您似乎正在嘗試使用 getServerSideProps 在顯示頁面之前執行伺服器端渲染和驗證檢查。從您的程式碼來看,您似乎走在正確的軌道上。

但是,我注意到您沒有將從 getServerSideProps 傳回的 props 傳遞給您的 Login 元件。為了將伺服器端屬性傳遞給元件,您需要修改 Login 函數以接受 message 屬性,如下所示:

function Login({ message }) {
    return (
        
            
{message || "NextJS is ok."} </div> <LoginForm /> </Content> ); }</pre> <p>此外,由於您使用的是 <code>getServerSideProps</code>,您的 <code>npm run dev</code> 命令不會為您的頁面產生靜態 HTML 檔案。相反,頁面將根據每個請求產生。因此,如果您想測試 <code>getServerSideProps</code> 是否正常運作,您需要向瀏覽器中的頁面發出請求,並檢查控制台日誌以取得 <code>console.log( )</code>宣告。 </p> <p>我希望這有幫助!如果您還有任何其他問題,請告訴我。 </p></body></html> </a> <div class="wdcdcInfo flexRow"> <a href="javascript:ask_reply_good(257321)"> <img class="wdxqindz" src="/static/images/images/icon27.png"></a> <span class="wdxqindzspan">點贊 <b>+0</b></span> <div class="wdcdcileft"> <a href="javascript:;" class="wdcdciSpan reply openreply">新增回覆</a> <a href="javascript:;" class="wdcdciSpan reply closereply" style="display:none">关闭回复</a> </div> </div> <div class="wdcdContentReplyss" style="display: none;"> <div class="reply textarea-con"> <div class="replyTop flexRow"> <div class="retLeft flexRow"> <img src="/static/images/user_avatar.jpg" class="retlAvatar" > <span class="retlName">P粉211600174</span> </div> </div> <textarea class="replaytext colorGrey" id="release-reply" placeholder="寫下你的回复"></textarea> <button type="button" class="replayBtn do-reply-btn" data-id="257321">回覆</button> </div> </div> <div class="wdcdContentReplyss"> <ul class="replyssul"> </ul> </div> </div> </div> </div> <div class="wdsyCondivLine"></div> <div class="wdsyConDiv flexRow ask_top_ul"> <img src="//m.sbmmt.com/static/images/user_avatar.jpg" alt="P粉663883862" class="wdcdImg"> <div class="wdcdContent flexColumn"> <div class="wdcdContentReply"> <div class="wdxqrcTop flexRow"> <a href="//m.sbmmt.com/zh-tw/member/1271723.html" target="_blank" class="wdcdcName">P粉663883862<b class="wdxqRcT colorGrey">2023-11-01 09:35:08</b></a> <span class="wdxqrcTopspan colorGrey">1樓</span> </div> <a href="javascript:;" class="wdcdcCons"><?xml encoding="utf-8" ?><html><body><p>因此,正如我在評論中提到的,您應該遵循此<a href="https://nextjs.org/docs/app/building-your-application/data-fetching/fetching#async-and-await-in%20-server-components" rel="nofollow noreferrer">https://nextjs.org/docs/app/building-your-application/data-fetching/fetching#async-and-await -in-server-components</a> 當您使用Next 13 和<code>app</code> 資料夾時。 </p> <p>這意味著您可以嘗試這樣的操作:</p> <pre class="brush:php;toolbar:false;">import { redirect } from 'next/navigation'; import Content from "@/components/content"; import LoginForm from "@/components/loginForm"; import Title from "@/components/title"; async function isLoggedIn() { try { const response = await api.get("/users/session-check", { withCredentials: true, }); if (response.status === 200) return true; } catch (err) { console.log(err.message); } return false; } export default async function Page() { const isLogged = await isLoggedIn(); if (!isLogged) redirect('/'); return ( <Content> <div className="ml-2 my-2"> {"NextJS is ok."} <Title text="Login" /> </div> <LoginForm /> </Content> ); }</pre> <p>當然,您需要添加訊息道具。 </p></body></html> </a> <div class="wdcdcInfo flexRow"> <a href="javascript:ask_reply_good(257320)"> <img class="wdxqindz" src="/static/images/images/icon27.png"></a> <span class="wdxqindzspan">點贊 <b>+0</b></span> <div class="wdcdcileft"> <a href="javascript:;" class="wdcdciSpan reply openreply">新增回覆</a> <a href="javascript:;" class="wdcdciSpan reply closereply" style="display:none">关闭回复</a> </div> </div> <div class="wdcdContentReplyss" style="display: none;"> <div class="reply textarea-con"> <div class="replyTop flexRow"> <div class="retLeft flexRow"> <img src="/static/images/user_avatar.jpg" class="retlAvatar" > <span class="retlName">P粉211600174</span> </div> </div> <textarea class="replaytext colorGrey" id="release-reply" placeholder="寫下你的回复"></textarea> <button type="button" class="replayBtn do-reply-btn" data-id="257320">回覆</button> </div> </div> <div class="wdcdContentReplyss"> <ul class="replyssul"> </ul> </div> </div> </div> </div> <div class="wdsyCondivLine"></div> <div></div> </div> </div> <!-- left end --> <div class="phpwzright wdxq"> <a href="javascript:void(0);" onclick="publish_ask('發佈話題',1,'zh-tw')"><img src="/static/images/images/needtiwen.png" class="wdxqrImg"></a> <div class="wzrTwo"> <div class="wzrt-title"> <div>熱門專題</div> <a href="//m.sbmmt.com/zh-tw/faq/zt">更多> </a> </div> <div class="wzrtlist"> <ul> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/nohuphdqb" title="nohup和&amp;的差別"><img src="https://img.php.cn/upload/subject/202403/18/2024031814511566689.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="nohup和&amp;的差別" /> </a> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/nohuphdqb" title="nohup和&amp;的差別" class="title-a-spanl"><span>nohup和&amp;的差別</span> </a> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/cyyzdysjs" title="c語言中+=的意思介紹"><img src="https://img.php.cn/upload/subject/202403/26/2024032610164233163.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="c語言中+=的意思介紹" /> </a> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/cyyzdysjs" title="c語言中+=的意思介紹" class="title-a-spanl"><span>c語言中+=的意思介紹</span> </a> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/azhiddchic" title="a5紙多大尺寸"><img src="https://img.php.cn/upload/subject/202405/09/2024050917203367085.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="a5紙多大尺寸" /> </a> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/azhiddchic" title="a5紙多大尺寸" class="title-a-spanl"><span>a5紙多大尺寸</span> </a> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/cyyrhhqszcd" title="C語言如何取得數組長度"><img src="https://img.php.cn/upload/subject/202405/09/2024050916160833273.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="C語言如何取得數組長度" /> </a> <a target="_blank" href="//m.sbmmt.com/zh-tw/faq/cyyrhhqszcd" title="C語言如何取得數組長度" class="title-a-spanl"><span>C語言如何取得數組長度</span> </a> </li> </ul> </div> </div> <div class="wzrOne"> <div class="wzroTitle"> <div> 熱門文章 </div> </div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="全鏈互通協議StripChain:完成1000萬美元融資,用鏈抽象與意圖迎接10億用戶" href="//m.sbmmt.com/zh-tw/faq/1796499061.html">全鏈互通協議StripChain:完成1000萬美元融資,用鏈抽象與意圖迎接10億用戶</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="一文解讀比特幣選擇權到期會上漲還是下跌?" href="//m.sbmmt.com/zh-tw/faq/1796496273.html">一文解讀比特幣選擇權到期會上漲還是下跌?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="鳴潮禮包碼大全 鳴潮公測禮包兌換碼" href="//m.sbmmt.com/zh-tw/faq/1796495831.html">鳴潮禮包碼大全 鳴潮公測禮包兌換碼</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="手機行動wifi" href="//m.sbmmt.com/zh-tw/faq/1796495907.html">手機行動wifi</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="除了RAG,還有這五種方法消除大模型幻覺" href="//m.sbmmt.com/zh-tw/faq/1796495598.html">除了RAG,還有這五種方法消除大模型幻覺</a> </div> </li> </ul> </div> </div> <div class="wzrThree"> <div class="wzrthree-title"> <div>熱門教學</div> <a target="_blank" href="//m.sbmmt.com/zh-tw/course.html">更多> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">相關教學 <div></div></div> <div class="tabdiv swiper-slide" data-id="two">熱門推薦<div></div></div> <div class="tabdiv swiper-slide" data-id="three">最新課程<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/812.html" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" href="//m.sbmmt.com/zh-tw/course/812.html">最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)</a> <div class="wzrthreerb"> <div>1383313 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="812"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/74.html" title="php入門教程之一週學會PHP" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="php入門教程之一週學會PHP"/> </a> <div class="wzrthree-right"> <a target="_blank" title="php入門教程之一週學會PHP" href="//m.sbmmt.com/zh-tw/course/74.html">php入門教程之一週學會PHP</a> <div class="wzrthreerb"> <div>4186772 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="74"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/286.html" title="JAVA 初級入門影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初級入門影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初級入門影片教學" href="//m.sbmmt.com/zh-tw/course/286.html">JAVA 初級入門影片教學</a> <div class="wzrthreerb"> <div>2258530 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="286"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/812.html" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" href="//m.sbmmt.com/zh-tw/course/812.html">最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)</a> <div class="wzrthreerb"> <div >1383313 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="812"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/286.html" title="JAVA 初級入門影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初級入門影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初級入門影片教學" href="//m.sbmmt.com/zh-tw/course/286.html">JAVA 初級入門影片教學</a> <div class="wzrthreerb"> <div >2258530 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="286"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/504.html" title="小甲魚零基礎入門學習Python影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="小甲魚零基礎入門學習Python影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="小甲魚零基礎入門學習Python影片教學" href="//m.sbmmt.com/zh-tw/course/504.html">小甲魚零基礎入門學習Python影片教學</a> <div class="wzrthreerb"> <div >485856 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="504"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/901.html" title="Web前端開發極速入門" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Web前端開發極速入門"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Web前端開發極速入門" href="//m.sbmmt.com/zh-tw/course/901.html">Web前端開發極速入門</a> <div class="wzrthreerb"> <div >212554 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="901"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/234.html" title="零基礎精通 PS 影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="零基礎精通 PS 影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="零基礎精通 PS 影片教學" href="//m.sbmmt.com/zh-tw/course/234.html">零基礎精通 PS 影片教學</a> <div class="wzrthreerb"> <div >820908 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="234"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/1648.html" title="【web前端】Node.js快速入門" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="【web前端】Node.js快速入門"/> </a> <div class="wzrthree-right"> <a target="_blank" title="【web前端】Node.js快速入門" href="//m.sbmmt.com/zh-tw/course/1648.html">【web前端】Node.js快速入門</a> <div class="wzrthreerb"> <div >1301 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="1648"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/1647.html" title="國外Web開發全端課程全集" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="國外Web開發全端課程全集"/> </a> <div class="wzrthree-right"> <a target="_blank" title="國外Web開發全端課程全集" href="//m.sbmmt.com/zh-tw/course/1647.html">國外Web開發全端課程全集</a> <div class="wzrthreerb"> <div >1070 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="1647"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/1646.html" title="Go語言實戰之 GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Go語言實戰之 GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Go語言實戰之 GraphQL" href="//m.sbmmt.com/zh-tw/course/1646.html">Go語言實戰之 GraphQL</a> <div class="wzrthreerb"> <div >882 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="1646"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/1645.html" title="550W粉絲大佬手把手從零學JavaScript" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="550W粉絲大佬手把手從零學JavaScript"/> </a> <div class="wzrthree-right"> <a target="_blank" title="550W粉絲大佬手把手從零學JavaScript" href="//m.sbmmt.com/zh-tw/course/1645.html">550W粉絲大佬手把手從零學JavaScript</a> <div class="wzrthreerb"> <div >344 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="1645"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/zh-tw/course/1644.html" title="python大神Mosh,零基礎小白6小時完全入門" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="python大神Mosh,零基礎小白6小時完全入門"/> </a> <div class="wzrthree-right"> <a target="_blank" title="python大神Mosh,零基礎小白6小時完全入門" href="//m.sbmmt.com/zh-tw/course/1644.html">python大神Mosh,零基礎小白6小時完全入門</a> <div class="wzrthreerb"> <div >4584 <b class="kclbcollectb"></b></div> <a class="courseICollection" data-id="1644"><img src="/static/images/images/icon-small-nocollect.png" class="nofollow" alt="收藏"></a> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>最新下載</div> <a href="//m.sbmmt.com/zh-tw/xiazai">更多> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">網站特效 <div></div></div> <div class="swiper-slide" data-id="twof">網站源碼<div></div></div> <div class="swiper-slide" data-id="threef">網站素材<div></div></div> <div class="swiper-slide" data-id="fourf">前端模板<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery企業留言表單聯絡程式碼" href="//m.sbmmt.com/zh-tw/xiazai/js/8071">[表單按鈕] jQuery企業留言表單聯絡程式碼</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 MP3音樂盒播放特效" href="//m.sbmmt.com/zh-tw/xiazai/js/8070">[播放器特效] HTML5 MP3音樂盒播放特效</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5酷炫粒子動畫導覽選單特效" href="//m.sbmmt.com/zh-tw/xiazai/js/8069">[選單導航] HTML5酷炫粒子動畫導覽選單特效</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery可視化表單拖曳編輯程式碼" href="//m.sbmmt.com/zh-tw/xiazai/js/8068">[表單按鈕] jQuery可視化表單拖曳編輯程式碼</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="VUE.JS仿酷狗音樂播放器代碼" href="//m.sbmmt.com/zh-tw/xiazai/js/8067">[播放器特效] VUE.JS仿酷狗音樂播放器代碼</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="經典html5推箱子小遊戲" href="//m.sbmmt.com/zh-tw/xiazai/js/8066">[html5特效] 經典html5推箱子小遊戲</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery滾動添加或減少圖片特效" href="//m.sbmmt.com/zh-tw/xiazai/js/8065">[圖片特效] jQuery滾動添加或減少圖片特效</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="CSS3個人相簿封面懸停放大特效" href="//m.sbmmt.com/zh-tw/xiazai/js/8064">[相簿特效] CSS3個人相簿封面懸停放大特效</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7647" title="有機蔬果供應商網頁範本 Bootstrap5" target="_blank">[Bootstrap模板] 有機蔬果供應商網頁範本 Bootstrap5</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7646" title="Bootstrap3多功能資料資訊後台管理響應式網頁範本-Novus" target="_blank">[後端模板] Bootstrap3多功能資料資訊後台管理響應式網頁範本-Novus</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7645" title="房產資源服務平台網頁範本 Bootstrap5" target="_blank">[Bootstrap模板] 房產資源服務平台網頁範本 Bootstrap5</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7644" title="簡約履歷資料網頁範本 Bootstrap4" target="_blank">[Bootstrap模板] 簡約履歷資料網頁範本 Bootstrap4</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7639" title="bootstrap響應式寬螢幕圖書教育網站範本-DREAMLIFE" target="_blank">[Bootstrap模板] bootstrap響應式寬螢幕圖書教育網站範本-DREAMLIFE</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7634" title="MAC風格響應式藍色企業CMS後台管理系統模版" target="_blank">[後端模板] MAC風格響應式藍色企業CMS後台管理系統模版</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7632" title="響應式漸層大氣後台管理系統網站模板-usinessbox" target="_blank">[後端模板] 響應式漸層大氣後台管理系統網站模板-usinessbox</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/7629" title="響應式蔬果商店網站模板-Organio" target="_blank">[Bootstrap模板] 響應式蔬果商店網站模板-Organio</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3078" target="_blank" title="可愛的夏天元素向量素材(EPS+PNG)">[PNG素材] 可愛的夏天元素向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3077" target="_blank" title="四個紅色的 2023 畢業徽章的向量素材(AI+EPS+PNG)">[PNG素材] 四個紅色的 2023 畢業徽章的向量素材(AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3076" target="_blank" title="唱歌的小鳥和裝滿花朵的推車設計春天banner向量素材(AI+EPS)">[banner圖] 唱歌的小鳥和裝滿花朵的推車設計春天banner向量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3075" target="_blank" title="金色的畢業帽向量素材(EPS+PNG)">[PNG素材] 金色的畢業帽向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3074" target="_blank" title="黑白風格的山脈圖示向量素材(EPS+PNG)">[PNG素材] 黑白風格的山脈圖示向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3073" target="_blank" title="不同顏色披風和不同姿勢的超級英雄剪影向量素材(EPS+PNG)">[PNG素材] 不同顏色披風和不同姿勢的超級英雄剪影向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3072" target="_blank" title="扁平風格的植樹節banner向量素材(AI+EPS)">[banner圖] 扁平風格的植樹節banner向量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/sucai/3071" target="_blank" title="九種漫畫風格的爆炸聊天氣泡向量素材(EPS+PNG)">[PNG素材] 九種漫畫風格的爆炸聊天氣泡向量素材(EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8328" target="_blank" title="家居裝潢清潔維修服務公司網站模板">[前端模板] 家居裝潢清潔維修服務公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8327" target="_blank" title="清新配色個人求職履歷引導頁模板">[前端模板] 清新配色個人求職履歷引導頁模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8326" target="_blank" title="設計師創意求職履歷網頁模板">[前端模板] 設計師創意求職履歷網頁模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8325" target="_blank" title="現代工程建築公司網站模板">[前端模板] 現代工程建築公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8324" target="_blank" title="教育服務機構響應式HTML5模板">[前端模板] 教育服務機構響應式HTML5模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8323" target="_blank" title="網上電子書店商城網站模板">[前端模板] 網上電子書店商城網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8322" target="_blank" title="IT技術解決互聯網公司網站模板">[前端模板] IT技術解決互聯網公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/zh-tw/xiazai/code/8321" target="_blank" title="紫色風格外匯交易服務網站模板">[前端模板] 紫色風格外匯交易服務網站模板</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> </div> <div class="phpFoot"> <div class="phpFootIn"> <div class="phpFootCont"> <div class="phpFootLeft"> <dl> <dt> <a href="//m.sbmmt.com/zh-tw/about/us.html" rel="nofollow" target="_blank" title="關於我們" class="cBlack">關於我們</a> <a href="//m.sbmmt.com/zh-tw/about/disclaimer.html" rel="nofollow" target="_blank" title="免責聲明" class="cBlack">免責聲明</a> <a href="//m.sbmmt.com/zh-tw/update/article_0_1.html" target="_blank" title="Sitemap" class="cBlack">Sitemap</a> <div class="clear"></div> </dt> <dd class="cont1">PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!</dd> </dl> </div> </div> </div> </div> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1718602339"></script> </body> </html><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8950a88abb822f6f',t:'MTcxODYwMjMzOS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>