日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
不使用Javascript也可以和瀏覽器進(jìn)行交互?

Htmx 是一個(gè)庫(kù),它允許你直接從 HTML 訪問現(xiàn)代瀏覽器功能,而不是使用 javascript。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、敘州網(wǎng)站維護(hù)、網(wǎng)站推廣。

要理解 htmx,首先讓我們看一下 HTML 中的 a 標(biāo)簽:

Blog

這個(gè)標(biāo)記會(huì)告訴瀏覽器:當(dāng)用戶單擊此鏈接時(shí),向 /blog 發(fā)出 HTTP GET 請(qǐng)求并將響應(yīng)內(nèi)容加載到瀏覽器窗口中。

然后我們?cè)倏聪旅娴?HTML:

這告訴 htmx:當(dāng)用戶單擊此按鈕時(shí),向  /clicked 發(fā)出 HTTP POST 請(qǐng)求并使用響應(yīng)中的內(nèi)容將元素替換為 id 為 parent-div 的 DOM。

Htmx 將 HTML 的核心思想進(jìn)行了擴(kuò)展,為 HTML 語言提供了更多可能性:

  • 現(xiàn)在任何元素,不僅僅是超鏈接和表單,都可以發(fā)出 HTTP 請(qǐng)求。
  • 現(xiàn)在任何事件,不僅僅是點(diǎn)擊或表單提交,都可以觸發(fā)請(qǐng)求。
  • 現(xiàn)在可以使用任何 HTTP verb,而不僅僅是GET 和POST。
  • 現(xiàn)在任何元素,不僅僅是整個(gè)window 對(duì)象,都可以成為請(qǐng)求更新的目標(biāo)。

請(qǐng)注意,當(dāng)你使用 htmx 時(shí),在服務(wù)器端你通常會(huì)使用 HTML 而非 JSON 進(jìn)行響應(yīng)。這會(huì)讓你使用原始 Web 編程模型,使用超文本作為應(yīng)用程序狀態(tài)的引擎,甚至你也不需要真正理解這個(gè)概念。

另外如果你愿意,可以在使用 htmx 時(shí)使用 data- 前綴:

Click Me!

安裝

Htmx 是一個(gè)無依賴、面向?yàn)g覽器的 JavaScript 庫(kù)。這意味著使用它就像在文檔頭部添加一個(gè) 

npm

對(duì)于 npm 風(fēng)格的構(gòu)建系統(tǒng),同樣你可以通過 npm 安裝 htmx:

npm install htmx.org

安裝后,你需要使用適當(dāng)?shù)墓ぞ邅硎褂?nbsp;node_modules/htmx.org/dist/htmx.js(或 .min.js),例如你可以將 htmx 與一些擴(kuò)展和特定于項(xiàng)目的代碼捆綁在一起。

如果你使用 webpack 來管理你的 javascript:

  • 通過你最喜歡的包管理器(如 npm 或 yarn)安裝 htmx。
  • 在你的index.js 文件 import htmx。
import 'htmx.org';

如果要使用全局 htmx 變量(推薦),則需要將其注入到 window 作用域中:

  • 創(chuàng)建一個(gè)定制的 JS 文件。
  • 在index.js 文件中導(dǎo)入該文件。
import 'path/to/my_custom.js';
  • 然后添加如下所示的代碼:
window.htmx = require('htmx.org');
  • 最后重新打包即可

AJAX

htmx 的核心是一組允許你直接從 HTML 發(fā)出 AJAX 請(qǐng)求的屬性:

  • hx-get:向指定的 URL 發(fā)出 GET 請(qǐng)求。
  • hx-post:向指定的 URL 發(fā)出 POST 請(qǐng)求。
  • hx-put:向指定的 URL 發(fā)出 PUT 請(qǐng)求。
  • hx-patch:向指定的 URL 發(fā)出 PATCH 請(qǐng)求。
  • hx-delete:向指定的 URL 發(fā)出 DELETE 請(qǐng)求。

這些屬性都需要一個(gè) URL 來向其發(fā)出 AJAX 請(qǐng)求,當(dāng)元素被觸發(fā)時(shí),該元素將向給定的 URL 發(fā)出指定類型的請(qǐng)求:


Put To Messages

這會(huì)告訴瀏覽器:當(dāng)用戶點(diǎn)擊此 div 時(shí),向 /messages 發(fā)出 PUT 請(qǐng)求并將響應(yīng)加載到 div。

觸發(fā)請(qǐng)求

默認(rèn)情況下,AJAX 請(qǐng)求由元素的 自然 事件觸發(fā):

  • input?、textarea? 和select? 在change 事件上觸發(fā)。
  • form 在提交事件上觸發(fā)。
  • 其他元素都由click 事件觸發(fā)。

如果你想要不同的行為,可以使用 hx-trigger 屬性來指定哪個(gè)事件將觸發(fā)請(qǐng)求。

比如下面的一段代碼表示在鼠標(biāo)進(jìn)入時(shí)觸發(fā)到 /mouse_entered 的 POST 請(qǐng)求:


[Here Mouse, Mouse!]

HTMX 還有很多使用的方式,可以前往官方文檔 https://htmx.org/docs/ 了解更多。

示例

下面我們用幾個(gè)示例來簡(jiǎn)單說明下 htmx 是如何使用的。

點(diǎn)擊加載數(shù)據(jù)

這個(gè)例子展示了如何在數(shù)據(jù)表格中實(shí)現(xiàn)點(diǎn)擊加載下一頁(yè),關(guān)鍵是最后一行:





該行包含一個(gè)按鈕,該按鈕將用下一頁(yè)結(jié)果替換整行(其中將包含一個(gè)用于加載下一頁(yè)結(jié)果的按鈕)。

當(dāng)點(diǎn)擊 Load More Agents... 按鈕后會(huì)加載一頁(yè)數(shù)據(jù)附加到表格中去。

延遲加載

這個(gè)例子展示了如何在頁(yè)面上延遲加載元素。我們從如下所示的初始狀態(tài)開始:


Result loading...

當(dāng)我們加載圖表時(shí),它會(huì)顯示一個(gè)進(jìn)度指示器,然后通過 CSS 過渡加載圖表并逐漸淡入視圖:

.htmx-settling img {
opacity: 0;
}
img {
transition: opacity 300ms ease-in;
}

該示例的效果就是先顯示一個(gè)加載的指示器,然后加載一張圖片出來,就是通常的延遲加載的效果。

Git 倉(cāng)庫(kù):https://github.com/bigskysoftware/htmx。


本文標(biāo)題:不使用Javascript也可以和瀏覽器進(jìn)行交互?
網(wǎng)頁(yè)鏈接:http://www.5511xx.com/article/cdichde.html