精品欧美一区二区三区在线观看 _久久久久国色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)

1234区中文字幕在线观看| 久久久久亚洲视频| 影视一区二区三区| 中文字幕高清一区| 成人欧美一区二区三区在线湿哒哒| 毛片aaaaaa| 成人永久在线| 亚洲一区在线观看视频| 久久久久久a亚洲欧洲aⅴ| 激情五月婷婷网| 欧美黄色录像片| 日韩免费电影网站| 欧美日韩黄色一级片| 国产尤物视频在线| 精品一区二区三区免费观看 | 欧美黑人性生活视频| 天天躁日日躁狠狠躁免费麻豆| 涩涩av在线| 国产目拍亚洲精品99久久精品| 国产精品亚洲美女av网站| 手机在线免费看毛片| 久久视频在线观看| 欧美日韩在线亚洲一区蜜芽| 99视频精品全部免费看| 欧美欧美欧美| 韩国欧美一区二区| 欧美中文字幕在线播放| 538精品在线视频| 加勒比久久高清| 欧美日韩高清一区二区| 日本十八禁视频无遮挡| 欧美孕妇孕交| 国产白丝精品91爽爽久久| 国产精品爱久久久久久久| 久久久久久国产精品免费播放| 中国av一区| 日韩精品中文字幕一区二区三区 | 欧美午夜精品一区二区三区| 轻点好疼好大好爽视频| 福利在线播放| 91在线观看污| 97人人香蕉| 中文字幕视频在线播放| 国产麻豆综合| 久久久久女教师免费一区| 国产黄色录像视频| 亚洲制服一区| 亚洲电影av在线| 91精产国品一二三产区别沈先生| 欧美gay囗交囗交| 亚洲午夜视频在线| 亚洲不卡中文字幕| 老司机午夜福利视频| 国产一区二区三区黄视频 | 91精品国产综合久久婷婷香蕉| 秋霞无码一区二区| av香蕉成人| 国产精品久久久久影院| 欧美日韩在线高清| 日本在线丨区| 91免费看`日韩一区二区| 国产精品二区在线| 国产av一区二区三区| 六月丁香综合在线视频| 国产精品丝袜视频| 久久这里只有精品9| 性欧美xxxx大乳国产app| 91超碰中文字幕久久精品| 豆国产97在线 | 亚洲| 欧美日本一区二区视频在线观看 | 一区二区三区四区日韩| 久久精品国产亚洲| 久久久久久久麻豆| 五月激情久久久| 精品国偷自产在线视频| 欧美日韩午夜视频| 亚洲一级淫片| 欧美激情第1页| 久久精品免费在线| 欧美日韩理论| 91国产视频在线| 伊人手机在线视频| 日韩综合在线视频| 国产有码一区二区| 国产精品无码AV| 国产一区二区日韩精品| 91中文在线视频| 亚洲第一页视频| 成人激情小说网站| 精品毛片久久久久久| 三级毛片在线免费看| 国产色婷婷亚洲99精品小说| 久久久一本精品99久久精品| 男同在线观看| 国产精品色呦呦| 日韩 欧美 自拍| 视频在线这里都是精品| 亚洲国产欧美在线| 加勒比成人在线| 精精国产xxxx视频在线播放| 在线观看免费一区| 污色网站在线观看| 中文字幕av一区二区三区四区| 精品处破学生在线二十三| 中文字字幕码一二三区| 成人高清av| 久久6精品影院| 4438国产精品一区二区| 成人自拍av| 欧美在线观看一区二区| 亚洲综合20p| 欧美电影在线观看完整版| 亚洲天天在线日亚洲洲精| 91大神福利视频| 亚洲成色精品| 国产精品久久中文| 亚洲国产精品一| 国产亚洲欧美在线| 欧美人与动牲交xxxxbbbb| 无遮挡爽大片在线观看视频 | 黄色网在线播放| 亚洲国产毛片aaaaa无费看| 免费男同深夜夜行网站| 久久在线观看| 国产亚洲精品久久久| av黄色免费在线观看| 中文一区在线| 91久久久久久国产精品| 男人久久精品| 亚洲黄色录像片| 欧美a v在线播放| 精品99re| 日韩高清有码在线| 精品人妻伦九区久久aaa片| 国产乱码精品| 国产一区二区丝袜| 男人天堂网在线| 久久在线免费| 国产91精品久久久| 特黄aaaaaaaaa真人毛片| 樱花草国产18久久久久| 亚洲一二三av| 久久久久久久久丰满| 91精品久久久久久久久不口人| 番号集在线观看| 色噜噜狠狠成人中文综合| 男女黄床上色视频| 香蕉亚洲视频| 日本免费高清一区二区| 男人最爱成人网| 亚洲欧美中文在线视频| 无码免费一区二区三区| 久久久www成人免费无遮挡大片| 欧美国产激情视频| 一区二区三区四区在线看| 2018日韩中文字幕| 精品av中文字幕在线毛片| 欧美性极品xxxx做受| 亚洲人成人无码网www国产 | 国产精品91一区| 国内三级在线观看| 在线观看区一区二| 国产黄a三级三级| 国产麻豆精品视频| 欧美男女爱爱视频| 蜜桃成人av| 国产精品视频xxxx| 精产国品自在线www| 日韩欧美你懂的| 国产午夜激情视频| 久久久久亚洲蜜桃| 日本77777| 很黄很黄激情成人| 欧美18视频| 国产精品久久久久久吹潮| 久久夜色精品亚洲噜噜国产mv| 亚洲精品无amm毛片| 精品久久久久久亚洲国产300| 高潮毛片无遮挡| 久久99久久久欧美国产| 国产成人在线小视频| 亚欧日韩另类中文欧美| 国产欧美一区二区白浆黑人| 丝袜美女在线观看| 亚洲社区在线观看| 国产普通话bbwbbwbbw| 亚洲va欧美va人人爽午夜| 88久久精品无码一区二区毛片| 欧美aa在线视频| 欧美a级免费视频| 九九久久婷婷| 97久久人人超碰caoprom欧美| 一区二区三区电影大全| 久久精品国产亚洲7777| 亚洲人妻一区二区| 91精品国产麻豆国产自产在线| 日韩精品一区二区三区国语自制| 国产精品狼人久久影院观看方式| 午夜影院福利社| 麻豆精品视频在线观看免费 | 992在线观看| 95精品视频在线| 亚洲无在线观看| 亚洲专区欧美专区| 欧美精品久久96人妻无码| 久久99免费视频| 风间由美久久久| av亚洲一区| 欧美在线视频免费| 欧美日韩经典丝袜| 中文字幕欧美精品日韩中文字幕| 欧美视频xxx| 欧美一区二区三区视频在线观看 | 女同一区二区| 盗摄牛牛av影视一区二区| 国产精品久久久久久久久久东京| av影片在线| 久久国产精品久久久久久| 国产精品99999| 日韩av在线免费播放| 国产成人精品白浆久久69| 色综合久久久久| 日韩三级小视频| 亚洲激情中文1区| 久久成人小视频| 亚洲国产精品黑人久久久| 国产精品无码一区二区三区免费 | 国产亚洲情侣一区二区无| 国产精品一区免费在线| 国产精品久久久久久久av大片| 碰碰在线视频| 97国产真实伦对白精彩视频8| 亚洲小说区图片| 久久精品久久久久| 日韩美女网站| 这里只有精品在线观看| 国产裸舞福利在线视频合集| 日韩电影免费观看在线观看| 日本黄色大片视频| 亚洲第一视频网站| 亚洲乱色熟女一区二区三区| 欧美一级视频精品观看| 国产青青草视频| 欧美一区在线视频| 国产不卡精品视频| 欧美大片免费久久精品三p| 国产福利小视频| 日韩三级高清在线| 超碰人人人人人人| 精品对白一区国产伦| 日本精品久久久久| 日韩精品免费电影| 手机在线观看免费av| 亚洲精品短视频| 九色蝌蚪在线| 中文字幕在线观看亚洲| 美女国产在线| 久精品免费视频| 国产美女精品写真福利视频| 2023亚洲男人天堂| 性欧美videohd高精| 国产精品美腿一区在线看| 岛国精品在线| 亚洲最大福利网站| 国产精品tv| 久久大片网站| 欧美美女视频| a级网站在线观看| 伊人激情综合| 日本不卡在线观看视频| 日本最新不卡在线| 婷婷激情小说网| 成人国产一区二区三区精品| www.色天使| 亚洲欧洲日韩在线| 伊人国产在线观看| 在线免费观看日本一区| 国产精品无码白浆高潮| 亚洲精品美女在线观看| 浮生影视网在线观看免费| 麻豆国产精品va在线观看不卡| av网站在线免费| 欧美在线视频免费| 高清不卡一区| 久久99精品国产99久久| 日韩影院二区| 婷婷五月综合缴情在线视频| 日日夜夜精品免费视频| 成人一区二区三区仙踪林| 91免费看片在线观看| 四虎精品免费视频| 色综合久久久久久久久| 性少妇videosexfreexxx片| 亚洲美女在线视频| av网址在线免费观看| 国产成人精品综合| 亚洲日本va| 亚洲日本欧美在线| 亚洲全部视频| 性鲍视频在线观看| 国产亚洲va综合人人澡精品| 久久久久久久久久一区二区三区| 一本久久a久久精品亚洲| www黄色在线观看| 一区二区三区视频免费| 美女高潮视频在线看| 91久久久久久| 欧美日韩激情在线一区二区三区| 人妻少妇精品久久| 狠狠色丁香久久婷婷综合_中 | 中文字幕一区二区不卡| 欧美一级片免费在线观看| 日韩视频一区二区在线观看| h视频网站在线观看| 97在线视频国产| 日韩一区二区三区精品视频第3页| 欧洲成人一区二区| 能免费看av的网站| 亚洲人成久久| 中国特级黄色片| 国产精品久久久久久久久久免费看| www日韩精品| 精品国产自在久精品国产| 麻豆电影在线播放| 国产精品永久免费在线| 国产日韩欧美一区二区三区| 成人免费aaa| 成人手机电影网| 欧美性猛交xxxxx少妇| 欧美日本韩国一区| av在线日韩国产精品| 国产精品99蜜臀久久不卡二区| 色先锋久久影院av| 国产午夜伦鲁鲁| 99精品久久久久久| 九一国产在线观看| 亚洲激情视频在线播放| mm视频在线视频| 精品国产乱码久久久久久108| 狠狠干综合网| 岛国av免费观看| 亚州成人在线电影| 五月天丁香视频| 欧美一级高清免费播放| 日韩三区视频| 青青草av网站| 国产欧美日韩麻豆91| 国模私拍一区二区| 中文字幕一区二区三区电影| 色综合一区二区日本韩国亚洲| 一区二区免费在线视频| 精彩视频一区二区三区| 朝桐光av在线| 日韩网站在线看片你懂的| 欧美人与牲禽动交com| 成人综合色站| 国产一区二区你懂的| 人妻少妇一区二区| 欧洲亚洲国产日韩| 色影院视频在线| 亚洲自拍偷拍网址| 1024日韩| 色一情一交一乱一区二区三区| 日本二三区不卡| 麻豆免费在线观看| 国产精品久久久久av福利动漫| 9色精品在线| 极品久久久久久久| 欧美一区二区三区四区高清 | jvid福利在线一区二区| 日日噜噜夜夜狠狠| 一区二区三区日韩在线观看| 免费国产精品视频| 国产成人综合av| 亚洲自拍偷拍网| 特级西西人体wwwww| 欧美色手机在线观看| 日韩激情美女| 欧美激情导航| 国产一区二区调教| 在线观看黄网站| 精品国模在线视频| 日韩中出av| 五月六月丁香婷婷| 红桃视频成人在线观看| 中文字幕日本在线观看| 成人在线看片| 喷白浆一区二区| 国产真人真事毛片| 国产一区二区三区在线免费观看 | 免费在线成人av电影| 久久99热99| 午夜婷婷在线观看| 欧美成人激情视频| 综合色就爱涩涩涩综合婷婷| 亚洲欧美手机在线| 一本大道av一区二区在线播放| 国产三级在线播放| 免费日韩av电影| 国产不卡在线视频|