精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

哇塞!居然用這個(gè)框架開(kāi)發(fā)了一款這么好用的 Markdown 編輯器

開(kāi)發(fā) 前端
引入就這么簡(jiǎn)單?是的,就這么簡(jiǎn)單的。另外,我們引入的版本是UMD,UMD 叫做通用模塊定義規(guī)范(Universal Module Definition)。

今天,我們來(lái)使用Strve.js來(lái)搭建一款 Markdown 編輯器,沒(méi)錯(cuò)!你沒(méi)聽(tīng)錯(cuò)。我們需要?jiǎng)?chuàng)建了一個(gè)實(shí)時(shí) Markdown 編輯器,用戶可以在 textarea 中輸入 Markdown 文本,然后實(shí)時(shí)顯示轉(zhuǎn)換后的 HTML。你可能會(huì)說(shuō)使用 Strve.js 開(kāi)發(fā)會(huì)不會(huì)寫(xiě)的特別復(fù)雜難懂啊,還不如用 Vue.js 呢!

好,滿足你的好奇心。首先,我們不搞那些工程化的東西,我們就是新建一個(gè) html 文件。

就像這樣。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Markdown Editor</title>
  </head>
  <body></body>
</html>

好,我們到此就開(kāi)發(fā)完成了~ 謝謝閱讀~

……

開(kāi)玩笑的!我們這么嚴(yán)謹(jǐn)?shù)拈_(kāi)發(fā)人員怎么會(huì)這么敷衍。

我們說(shuō)使用Strve.js開(kāi)發(fā)應(yīng)用,那么我們就先引入Strve.js。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Markdown Editor</title>
  </head>
  <body>
    <script src="https://unpkg.com/strve-js@5.1.1/dist/strve.full.js"></script>
  </body>
</html>

哇塞!引入就這么簡(jiǎn)單?是的,就這么簡(jiǎn)單的。另外,我們引入的版本是UMD,UMD 叫做通用模塊定義規(guī)范(Universal Module Definition)。也是隨著大前端的趨勢(shì)所誕生,它可以通過(guò)運(yùn)行時(shí)或者編譯時(shí)讓同一個(gè)代碼模塊在使用 CommonJs、CMD 甚至是 AMD 的項(xiàng)目中運(yùn)行。簡(jiǎn)單來(lái)說(shuō),就像我們之前使用 Jquery 那樣,引入直接使用,然后直接打開(kāi)html文件看效果,不需要自己搭建本地文件服務(wù)器啥的。省心省力!!

好家伙,下一步我們就開(kāi)始寫(xiě)靜態(tài)頁(yè)面了啊!不要忘記自己是一個(gè)切圖仔。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Markdown Editor</title>
  </head>
  <body>
    <script src="https://unpkg.com/strve-js@5.1.1/dist/strve.full.js"></script>
    <script>
      const { h, createApp } = Strve;

      function App() {
        return h/*html*/`
          <textarea class="input" placeholder="input..." @input="${update}"></textarea>
          <div class="output" $key="output"></div>
        `;
      }

      createApp(App).mount("#app");
    </script>
  </body>
</html>

這就寫(xiě)完了?怎么沒(méi)有在 body 標(biāo)簽內(nèi)寫(xiě) html 標(biāo)簽啊,我只看到了模版字符串中寫(xiě)的,這是什么操作?JSX?別急啊,這是Strve.js最大特性呀!可以將模版字符串轉(zhuǎn)化成我們看到的 html 視圖。你可能又會(huì)說(shuō)這不跟 JSX 思想差不多呢!是的,我開(kāi)發(fā)這個(gè)框架的動(dòng)機(jī)就是受 JSX 語(yǔ)法的影響。

到這里,我們只是寫(xiě)了頁(yè)面但是沒(méi)有寫(xiě)樣式。那么,下面我們就開(kāi)整樣式。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Markdown Editor</title>
    <style>
    html,
    body,
    #app {
    margin: 0;
    height: 100%;
    font-family: "Helvetica Neue", Arial, sans-serif;
    color: #333;
    }

    #app {
    display: flex;
    }

    .input,
    .output {
    width: 50%;
    box-sizing: border-box;
    }

    .input {
    border: none;
    border-right: 1px solid #ccc;
    resize: none;
    outline: none;
    background-color: #f6f6f6;
    font-size: 14px;
    font-family: "Monaco", courier, monospace;
    padding: 20px;
    }

    .output {
    padding: 0 20px;
    }
</style>
  </head>
  <body>
    <script src="https://unpkg.com/strve-js@5.1.1/dist/strve.full.js"></script>
    <script>
      const { h, createApp } = Strve;

      function App() {
        return h/*html*/`
          <textarea class="input" placeholder="input..." @input="${update}"></textarea>
          <div class="output" $key="output"></div>
        `;
      }

      createApp(App).mount("#app");
    </script>
  </body>
</html>

你可能會(huì)說(shuō),樣式有了,頁(yè)面結(jié)構(gòu)也有了,我想看看效果。先忍住!我們得先賦予他靈魂,好事不怕晚。

下面,我們就開(kāi)始寫(xiě)業(yè)務(wù)邏輯了。我們要實(shí)現(xiàn)的效果就是用戶可以在 textarea 中輸入 Markdown 文本,然后實(shí)時(shí)顯示轉(zhuǎn)換后的 HTML。你可能會(huì)說(shuō),啥意思?就是左側(cè)我們寫(xiě)Markdown 文本,然后右側(cè)就是顯示 Markdown 轉(zhuǎn)換后的文本了。

好了,廢話不多說(shuō)了!(還算有點(diǎn)自知之明)

完整源碼如下:(相信我,你還會(huì)回來(lái)的!)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Markdown Editor</title>
    <link
      rel="stylesheet"
      
    />
    <style>
    html,
    body,
    #app {
    margin: 0;
    height: 100%;
    font-family: "Helvetica Neue", Arial, sans-serif;
    color: #333;
    }

    #app {
    display: flex;
    }

    .input,
    .output {
    width: 50%;
    box-sizing: border-box;
    }

    .input {
    border: none;
    border-right: 1px solid #ccc;
    resize: none;
    outline: none;
    background-color: #f6f6f6;
    font-size: 14px;
    font-family: "Monaco", courier, monospace;
    padding: 20px;
    }

    .output {
    padding: 0 20px;
    }
</style>
  </head>
  <body>
    <script src="https://unpkg.com/strve-js@5.1.1/dist/strve.full.js"></script>
    <script src="https://unpkg.com/marked@2.1.3/lib/marked.js"></script>
    <script src="https://unpkg.com/marked-highlight@2.0.1/lib/index.umd.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
    <script src="https://unpkg.com/lodash@4.17.21/lodash.min.js"></script>
    <script>
      const { h, setData, createApp, domInfo, nextTick } = Strve;

      // Highlight code blocks
      marked.use(
        markedHighlight.markedHighlight({
          langPrefix: "hljs language-",
          highlight(code, lang) {
            const language = hljs.getLanguage(lang) ? lang : "plaintext";
            return hljs.highlight(code, { language }).value;
          },
        })
      );

      let input = "";

      function compiledMarkdown() {
        return marked(input);
      }

      const debouncedUpdate = _.debounce(function (e) {
        setData(() => {
          input = e.target.value;
        });
        nextTick(() => {
          domInfo.output.innerHTML = compiledMarkdown();
        });
      }, 100);

      function update(e) {
        debouncedUpdate(e);
      }

      function App() {
        return h/*html*/ `
          <textarea class="input" placeholder="input..." @input="${update}"></textarea>
          <div class="output" $key="output"></div>
        `;
      }

      createApp(App).mount("#app");
    </script>
  </body>
</html>

我去!咋一下子多出了這么多代碼!你這是逗我嗎?

別著急嘛!我會(huì)對(duì)你負(fù)責(zé)的,我既然一下子寫(xiě)了這么多代碼,肯定會(huì)解釋清楚的。

下面,我們要正經(jīng)起來(lái)了!我們既然需要開(kāi)發(fā)一款 Markdown 編輯器,我們需要的依賴庫(kù)有下面幾種:

  • Strve-js: 一個(gè)輕量級(jí)的 JavaScript 框架,用于構(gòu)建用戶界面;
  • Marked: 一個(gè)將 Markdown 轉(zhuǎn)換為 HTML的庫(kù);
  • Highlight: 讓網(wǎng)頁(yè)上的代碼高亮美化的免費(fèi)開(kāi)源工具庫(kù);
  • Lodash: 一個(gè)實(shí)用的 JavaScript 工具庫(kù);

那么你就會(huì)看我們引入了這些庫(kù)。

<script src="https://unpkg.com/strve-js@5.1.1/dist/strve.full.js"></script>
<script src="https://unpkg.com/marked@2.1.3/lib/marked.js"></script>
<script src="https://unpkg.com/marked-highlight@2.0.1/lib/index.umd.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
<script src="https://unpkg.com/lodash@4.17.21/lodash.min.js"></script>

另外,需要再引入一個(gè)css文件,用于 Markdown 中代碼高亮的樣式。

<link
    rel="stylesheet"
    
/>

外部引入的文件,我們已經(jīng)介紹完了,那么我們?cè)偌兄v解下核心業(yè)務(wù)邏輯代碼。

定義一個(gè)名為 input 的變量用于存儲(chǔ)用戶輸入的 Markdown 文本。然后定義一個(gè)名為 compiledMarkdown 的函數(shù),該函數(shù)使用 Marked 庫(kù)將 input 變量中的 Markdown 文本轉(zhuǎn)換為 HTML。然后再定義一個(gè)名為 update 的函數(shù),該函數(shù)在用戶輸入時(shí)調(diào)用。它使用 Lodash 的 debounce 函數(shù)來(lái)防止頻繁觸發(fā),提高性能。當(dāng)用戶輸入時(shí),它會(huì)更新 input 變量并將轉(zhuǎn)換后的 HTML 插入到輸出 <div> 中。定義一個(gè)名為 App 的組件,該組件包含一個(gè) textarea 用于輸入 Markdown 文本,以及一個(gè) <div> 用于顯示轉(zhuǎn)換后的HTML。<textarea> 上有一個(gè)input 事件監(jiān)聽(tīng)器,當(dāng)用戶輸入時(shí)調(diào)用 update 函數(shù)。輸出 <div> 使用 $key 屬性設(shè)置 Strve 的引用名稱為"output"。使用 Strve 的 createApp 函數(shù)創(chuàng)建一個(gè) App 實(shí)例并掛載到 id 為app的元素上。

核心邏輯講完了,那么我們欣賞下這款 Markdown 編輯器完整代碼吧!

圖片

下面,我們來(lái)看下這款Markdown 編輯器的真正面目吧!

圖片

額~ 真簡(jiǎn)約啊!你可能會(huì)問(wèn)能不能這樣,能不能那樣啊!都不行,真垃圾呀!

哈哈哈……

讓您失望了!

扯了這么多!你的動(dòng)機(jī)到底是啥?

當(dāng)然是為了分享這個(gè)簡(jiǎn)約實(shí)用的項(xiàng)目啊!

另外,也是為了推廣我的框架:Strve.js,值得高興的一件事,ChatGPT 居然給我這個(gè)框架定義為一個(gè)輕量級(jí)的 JavaScript 框架,用于構(gòu)建用戶界面。

好了,到這里就結(jié)束了,謝謝大家聽(tīng)我的閑扯!

別走別走!看這!歡迎大家的小手手點(diǎn)擊下哦!

Strve.js 中文文檔:https://maomincoding.gitee.io/strve-doc-zh/

Strve.js 源碼倉(cāng)庫(kù):https://github.com/maomincoding/strve

責(zé)任編輯:武曉燕 來(lái)源: 前端歷劫之路
相關(guān)推薦

2021-03-08 06:00:03

Markdown在線編輯器開(kāi)源

2021-11-24 09:12:11

Markdown編輯器Linux

2020-09-16 10:27:50

MarkDown編輯器編程

2021-08-26 05:15:22

圖片編輯器 H5-DooringMitu-Doorin

2022-08-31 08:32:22

數(shù)據(jù)可視化項(xiàng)目nocode

2015-01-14 10:47:10

Linux字幕編輯器

2024-03-06 08:26:29

2015-03-30 17:59:42

編程語(yǔ)言文本編輯器

2021-04-08 14:58:59

開(kāi)發(fā)前端編輯器

2018-01-17 08:35:07

LinuxLaTeX編輯器

2022-09-05 13:16:42

MicroVim編輯器

2020-09-18 06:00:51

開(kāi)源Markdown編輯器

2023-09-10 23:22:33

Zettlr筆記編輯器

2021-04-12 08:31:53

PC-Dooring項(xiàng)目PC端搭建

2015-06-01 07:37:42

開(kāi)發(fā)產(chǎn)品

2019-05-30 08:43:45

JavaScript富文本編輯器編輯器

2020-04-09 14:23:44

PythonMarkdown編輯器

2017-05-23 19:19:16

開(kāi)源Markdown編輯器

2015-04-24 10:54:58

JavaScript開(kāi)發(fā)工具代碼編輯器

2020-08-20 14:15:11

工具代碼開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品久久久久四虎| 国产亚洲网站| 精品国产一区二区亚洲人成毛片| 很污的网站在线观看| 亚欧在线观看视频| 日本不卡在线视频| 九九热99久久久国产盗摄| 99re久久精品国产| 宅男噜噜噜66国产精品免费| 93在线视频精品免费观看| 91精品啪在线观看国产60岁| 国内精品在线观看视频| jizz亚洲| 成人91在线观看| 国产精品一区二区三区在线播放| 久久精品视频日本| 欧美成人激情| 日韩精品有码在线观看| 激情亚洲另类图片区小说区| 国产不卡免费视频| 国产成人精品一区二区在线| 麻豆成人在线视频| 日韩大片在线播放| 国产网站欧美日韩免费精品在线观看 | 综合分类小说区另类春色亚洲小说欧美 | 一区二区成人精品| 日本黄色免费观看| 清纯唯美激情亚洲| 欧美日韩大陆在线| 精品久久久噜噜噜噜久久图片| 日本动漫同人动漫在线观看| 国产精品女人毛片| 日韩精品av一区二区三区| 97精品在线播放| 亚洲系列另类av| 精品久久久久一区二区国产| 在线观看免费的av| 电影久久久久久| 色综合av在线| 成人综合视频在线| 国产粉嫩在线观看| 亚洲第一搞黄网站| 欧美中文字幕在线观看视频| 麻豆最新免费在线视频| 国产清纯美女被跳蛋高潮一区二区久久w | a级片在线播放| 喷白浆一区二区| 国产999精品久久久影片官网| 国产精品suv一区二区69| 一区二区影院| 欧美成人精品影院| 久久人妻无码aⅴ毛片a片app| 成人三级视频| 在线观看久久av| 超薄肉色丝袜一二三| 国产一区二区精品福利地址| 亚洲毛片在线观看.| 人人妻人人澡人人爽人人精品| 老司机凹凸av亚洲导航| 精品国产99国产精品| 岛国大片在线免费观看| 日韩三级精品| 亚洲第一av在线| 91玉足脚交白嫩脚丫| 久9re热视频这里只有精品| 亚洲精品电影久久久| 亚洲成人av免费在线观看| 清纯唯美亚洲经典中文字幕| 日韩电影视频免费| av无码av天天av天天爽| 女人丝袜激情亚洲| 综合网中文字幕| 99久久久免费精品| 欧美国产先锋| 91精品国产色综合久久不卡98| 日韩激情在线播放| 日日夜夜免费精品| 国产欧美日韩高清| 亚洲av无码片一区二区三区| 不卡电影一区二区三区| 你懂的视频在线一区二区| 国产高清在线| 亚洲蜜臀av乱码久久精品蜜桃| 欧美一级黄色录像片| jizz一区二区三区| 2024国产精品视频| 手机在线观看国产精品| 国产激情小视频在线| 亚洲成人免费视频| 91看片在线免费观看| 国产一区二区三区| 亚洲精品suv精品一区二区| 久久久久亚洲av无码a片| 日韩中文字幕高清在线观看| 色综合导航网站| 香蕉污视频在线观看| 狠狠色综合日日| 国产麻豆日韩| 在线视频三区| 亚洲va天堂va国产va久| 一区二区三区 日韩| 一区二区三区免费在线看| 亚洲视频在线免费看| 99久久99久久精品国产| 国产欧美一区二区色老头 | 欧美一区在线观看视频| 国产婷婷97碰碰久久人人蜜臀 | 91精品国产自产在线| 欧美自拍偷拍第一页| 欧美国产亚洲另类动漫| 欧美午夜小视频| 只有精品亚洲| 亚洲视频在线免费观看| 国产大片中文字幕在线观看| 麻豆中文一区二区| 免费观看国产成人| 午夜伦理大片视频在线观看| 在线欧美小视频| 艳妇乳肉豪妇荡乳xxx| 亚洲国产精品久久久天堂| 国产成人午夜视频网址| 四虎永久在线观看| 亚洲蜜臀av乱码久久精品| 亚洲福利精品视频| 自拍亚洲一区| 5252色成人免费视频| 国产成人久久精品77777综合| 中文字幕av一区二区三区高| 日韩在线视频在线观看| 高清精品xnxxcom| 色综合久久88色综合天天看泰| 伊人网av在线| 欧美激情一二三区| 日本熟妇人妻中出| 国产探花在线精品一区二区| 91av在线播放| 天天操天天干天天爱| 亚洲国产综合色| 久久艹这里只有精品| 99久久综合狠狠综合久久aⅴ| 青青青国产精品一区二区| 人妻无码中文字幕| 亚洲成人你懂的| av电影在线播放| 国产综合精品一区| 高清av免费一区中文字幕| 高清全集视频免费在线| 6080yy午夜一二三区久久| 久久精品国产亚洲AV成人婷婷| 日本亚洲免费观看| 视频一区视频二区视频| 亚洲第一会所| 中文字幕久久久| 亚洲一区在线观| 国产精品久久久久久亚洲伦| 午夜免费看毛片| 国产精品久久久乱弄 | 欧美精品激情blacked18| 国产成人久久精品77777综合| 亚洲精品日韩一| 在线中文字日产幕| 99国产精品| 欧美日韩一区二| 91九色综合| 久久亚洲精品一区二区| 精品毛片在线观看| 五月天一区二区三区| 懂色av粉嫩av蜜乳av| 久久久噜噜噜| 在线观看福利一区| 亚洲视频三区| 欧美综合第一页| 午夜视频在线免费观看| 91麻豆精品国产自产在线| 久青草免费视频| 91免费看片在线观看| 中文字幕国产传媒| 综合激情网站| 韩国成人一区| 99久久er| 欧美大片在线免费观看| 日产精品久久久久久久性色| 欧美视频精品在线观看| 1024手机在线视频| 91一区二区在线| 中文字幕第88页| 亚洲视频免费| 色综合666| 亚洲精品视频一二三区| 欧美综合一区第一页| 日本中文字幕视频在线| 精品sm捆绑视频| 自拍偷拍校园春色| 一区二区三区国产精品| 亚洲精品国产一区黑色丝袜| 九色综合狠狠综合久久| 国产淫片免费看| 希岛爱理av一区二区三区| 精品一区二区国产| 亚洲18在线| 51ⅴ精品国产91久久久久久| av理论在线观看| 亚洲色图激情小说| 亚洲免费黄色片| 欧美午夜精品久久久久久孕妇| 久久久久久久中文字幕| 国产三级一区二区| 美女黄色一级视频| 国产在线视频一区二区| 日本中文字幕片| 韩国av一区| 亚洲欧洲三级| 亚瑟一区二区三区四区| 亚洲综合社区网| 亚洲电影有码| 欧美自拍视频在线| а√天堂8资源在线| 久久国产精品视频| 春暖花开成人亚洲区| 日韩成人在线视频| 性生交大片免费看女人按摩| 欧美日韩在线播| 神马久久久久久久| 黄色精品在线看| 久久久久黄色片| 亚洲三级免费观看| 18精品爽国产三级网站| 久久久精品人体av艺术| 污网站免费观看| 国产成人av电影在线观看| 一区二区在线免费看| 日韩1区2区日韩1区2区| 欧美日韩在线中文| 一区二区激情| 黄色一级视频在线播放| 欧美日韩少妇| 大桥未久一区二区| 一区二区不卡| 先锋影音男人资源| 亚洲有吗中文字幕| 中国一级黄色录像| 亚洲草久电影| 日本女人高潮视频| 欧美日本免费| 轻点好疼好大好爽视频| 在线不卡亚洲| av免费看网址| 国产视频亚洲| 国模吧无码一区二区三区| 亚洲深夜激情| 国产一区二区三区精彩视频| 亚洲一区成人| 99热成人精品热久久66| 久久天堂成人| 一区二区三区国产免费| 日本大胆欧美人术艺术动态| 三上悠亚在线一区二区| 久久99精品久久久久久| 天天做天天干天天操| 亚洲精品成人| 亚洲欧美一二三| 欧美久久九九| 国产亚洲精品超碰| 97中文字幕在线| 亚洲精选久久| 欧美日韩国产精品激情在线播放| 性色一区二区| 亚洲黄色av网址| 国产一区二区在线视频| 久草免费资源站| 久久老女人爱爱| 一级片黄色录像| 一区二区三区波多野结衣在线观看| 久久精品国产亚洲av高清色欲| 午夜久久久影院| 亚洲精品一区二区二区| 91精品国产综合久久久久| 亚洲男人天堂久久| 亚洲欧美日韩久久久久久| 日本在线免费网| 欧美精品久久久久a| 国模套图日韩精品一区二区| 国产精品自拍小视频| 99久热这里只有精品视频免费观看| 精品产品国产在线不卡| 日韩在线观看一区 | 一区二区三区视频在线观看视频| 久久国产色av| 欧美舌奴丨vk视频| 91久久国产综合久久91精品网站| 国产精品久久久久av蜜臀| 日本在线播放不卡| 欧美阿v一级看视频| 97公开免费视频| 国产999精品久久| 久久久久亚洲av无码a片| 亚洲一区影音先锋| 成年人晚上看的视频| 精品日本一线二线三线不卡| 福利视频在线看| 久久久久亚洲精品国产| 小明成人免费视频一区| 国产一级精品aaaaa看| 999国产精品视频| 青青草原av在线播放| 国产精品456露脸| 欧美亚洲色综久久精品国产| 五月激情六月综合| av男人天堂av| 这里只有精品久久| 蜜桃麻豆影像在线观看| 91精品免费| 欧美高清在线| 精品视频无码一区二区三区| www.欧美亚洲| 欧美三级 欧美一级| 欧美日韩国产精选| 免费成人av电影| 久久久亚洲天堂| 91视频免费看片| av中文字幕不卡| 欧美成人国产精品高潮| 欧洲国产伦久久久久久久| 五月婷婷在线播放| 久久91亚洲精品中文字幕| 精品美女一区| 青娱乐一区二区| 性高湖久久久久久久久| 蜜臀视频在线观看| 一区二区激情视频| 国产女人18毛片水18精| 有码中文亚洲精品| 欧美自拍电影| 麻豆精品传媒视频| 亚洲乱码视频| 中文字幕一区二区人妻电影丶| 亚洲啪啪综合av一区二区三区| 一级日韩一级欧美| 少妇高潮 亚洲精品| 精品亚洲美女网站| 日韩高清专区| 久久中文精品| 欧美黄色一级生活片| 色综合久久九月婷婷色综合| 日韩精品系列| 奇米成人av国产一区二区三区| 色综合久久中文| 男人揉女人奶房视频60分 | 久久午夜激情| 日本高清www| 色八戒一区二区三区| 激情小视频在线| 国产精品你懂得| 亚洲激情久久| 成年人性生活视频| 亚洲综合在线免费观看| 亚洲男人第一天堂| 欧美一级片在线播放| 久久97视频| 欧美成年人视频在线观看| 中文字幕在线观看不卡视频| 国产免费黄色大片| 欧美激情中文字幕在线| 欧美aaaaa级| 免费看国产黄色片| 亚洲手机成人高清视频| 性生活免费网站| 欧美一性一乱一交一视频| 精品美女久久| 天堂在线一区二区三区| 亚洲制服丝袜在线| 五月婷婷综合久久| 国产啪精品视频网站| 欧美激情综合色综合啪啪| 日韩av手机在线播放| 在线观看一区不卡| 91在线中字| 精品在线视频一区二区| 日韩成人一级大片| 久草网站在线观看| 日韩高清av一区二区三区| 成人看片网页| www.国产在线视频| 久久精品一二三| a天堂中文在线观看| 91极品女神在线| 欧美激情理论| 黄色av网址在线观看| 欧美日韩色一区| 嗯~啊~轻一点视频日本在线观看| 日韩精品一区二区三区四区五区| 国产一区二区在线观看免费| 97久久久久久久| 久久久精品在线观看| 人人香蕉久久| 99精品999| 一本高清dvd不卡在线观看| 中中文字幕av在线| 日韩尤物视频| av一区二区三区|