日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

如何使用JavaScript创建文本搜索书签

發(fā)布時(shí)間:2023/12/29 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用JavaScript创建文本搜索书签 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

書(shū)簽是可以作為瀏覽器書(shū)簽訪問(wèn)的JavaScript應(yīng)用程序 。 它們用于使用戶能夠在網(wǎng)頁(yè)上執(zhí)行不同的操作 。 例如, FontShop的此書(shū)簽小冊(cè)子用于預(yù)覽任何網(wǎng)頁(yè)上的FontShop網(wǎng)絡(luò)字體。

在本文中,我們將通過(guò)創(chuàng)建一個(gè)對(duì)任何網(wǎng)頁(yè)上的選定文本執(zhí)行Wikiwand (看起來(lái)更好的Wikipedia) 搜索 的書(shū)簽來(lái)構(gòu)造書(shū)簽的過(guò)程是多么快速和容易。

小書(shū)簽的工作方式

小書(shū)簽的URI 使用javascript:協(xié)議指示它由JavaScript代碼組成 。 單擊書(shū)簽時(shí),可以在網(wǎng)頁(yè)上運(yùn)行JavaScript ,并執(zhí)行任務(wù),例如更改頁(yè)面的外觀,重定向到另一個(gè)頁(yè)面或在其上顯示新信息。

由于書(shū)簽本質(zhì)上是JavaScript代碼集 ,因此很容易用很少JavaScript知識(shí)(無(wú)論是個(gè)人使用還是將其提供給您的用戶)進(jìn)行創(chuàng)建,例如WordPress的Press This書(shū)簽。

開(kāi)始使用JavaScript代碼

Wikiwand用于英語(yǔ)文章的URL結(jié)構(gòu)為https://www.wikiwand.com/en/articleTitle 。 我們需要編寫(xiě)一個(gè)腳本,該腳本跳到Wikiwand頁(yè)面,該URL的URL 以用戶剛剛選擇的字符串結(jié)尾 -選定的文本將需要代替articleTitle

首先,我們使用以下代碼來(lái)掌握用戶在頁(yè)面上選擇的文本

getSelection().toString()

我們需要轉(zhuǎn)換返回的對(duì)象getSelection()通過(guò)使用作為字符串 toString()方法,以使其輸出選定的文本

接下來(lái),我們需要訪問(wèn) Wikiwand文章頁(yè)面。 我們將使用以下邏輯來(lái)實(shí)現(xiàn)這一點(diǎn),其中newURL將是Wikiwand文章頁(yè)面URL (將在最后包含所選字符串):

location.href = newURL

當(dāng)我們將這兩個(gè)代碼片段放在一起時(shí),我們將得到以下腳本:

location.href='https://www.wikiwand.com/en/'+getSelection().toString()

現(xiàn)在,我們只需要在前面添加javascript:協(xié)議,就可以在書(shū)簽中使用最終代碼

// add in one line without line breaks javascript:location.href='https://www.wikiwand.com/en/'+getSelection().toString().replace(/\n/g,'%20')

最后的可選replace(/\n/g,'%20') 用單個(gè)空格字符 ( %20 ) 替換文本中的任何新行字符 ( \n )。

JavaScript代碼已準(zhǔn)備就緒。 請(qǐng)注意,代碼需要放在一行中且沒(méi)有換行符 ,因?yàn)樯院笏鼘⒈?strong>添加到文本輸入字段中 。

創(chuàng)建書(shū)簽

打開(kāi)瀏覽器的書(shū)簽窗口,然后添加一個(gè)新書(shū)簽

  • Firefox:ctrl + shift + B / cmd + shift + B ,右鍵單擊“書(shū)簽工具欄”,然后選擇“新建書(shū)簽”。
  • Chrome:ctrl + shift + O / cmd + alt + B ,右鍵單擊“書(shū)簽欄”,然后選擇“添加頁(yè)面…”。

在URL字段中,從以前復(fù)制粘貼JavaScript代碼 。 創(chuàng)建書(shū)簽后即可使用。 轉(zhuǎn)到任何網(wǎng)頁(yè),在Wikiwand中選擇要搜索的單詞 ,然后單擊小書(shū)簽 -Wikiwand文章頁(yè)面將立即打開(kāi)。

快速訪問(wèn)

您可以選擇直接在瀏覽器中顯示書(shū)簽以進(jìn)行快速訪問(wèn),而不必每次需要書(shū)簽時(shí)都進(jìn)入書(shū)簽菜單。

  • Firefox:在頂部菜單欄中單擊“查看>工具欄”,然后選擇“書(shū)簽工具欄”。
  • Chrome:ctrl + shift + B / cmd + shift + B。

創(chuàng)建一個(gè)書(shū)簽鏈接

您也可以將書(shū)簽作為超鏈接添加到網(wǎng)站,訪問(wèn)者可以通過(guò)將鏈接拖放到書(shū)簽工具欄上,或者右鍵單擊該鏈接并選擇將其添加為書(shū)簽的選項(xiàng)來(lái)添加書(shū)簽。

要將您的小書(shū)簽變成超鏈接,請(qǐng)創(chuàng)建一個(gè)<a> HTML標(biāo)簽,并將小書(shū)簽?zāi)_本作為其href屬性的值

<!-- add in one line without line breaks --> <a href="javascript:location.href='https://www.wikiwand.com/en/'+getSelection().toString().replace(/\n/g,'%20')">Wikiwand Search Bookmarklet </a>

如何分開(kāi)存放小書(shū)簽

您還可以使用一個(gè)單獨(dú)JavaScript文件來(lái)存儲(chǔ)小書(shū)簽代碼,如果您使用的是簡(jiǎn)短腳本(例如我們?cè)诒窘坛讨袆倓偪吹降哪_本),則可能不需要這樣做,但是當(dāng)JavaScript代碼太長(zhǎng)而無(wú)法使用時(shí),可以派上用場(chǎng)。將其復(fù)制粘貼到瀏覽器的書(shū)簽欄中。

文件myscript.js將包含小書(shū)簽的主要JavaScript代碼 ,您需要將以下代碼添加為書(shū)簽URL (添加到瀏覽器的書(shū)簽欄,或添加為HTML文件中href屬性的值):

// add in one line without line breaks javascript:(()=>{with(document){let s=createElement('script');s.src='myscript.js';head.appendChild(s)}})();

上面的代碼段包裝在一個(gè)自動(dòng)調(diào)用箭頭函數(shù)中 ,并使用ECMAScript 6的功能(例如let關(guān)鍵字)以減少代碼長(zhǎng)度。 當(dāng)用戶單擊書(shū)簽時(shí) ,它將在文檔的<head>部分中添加一個(gè)指向myscript.js文件的<script>標(biāo)記(請(qǐng)注意,對(duì)于myscript.js文件,您可能需要使用絕對(duì)路徑)。

在我以前的文章中,您可以閱讀有關(guān)如何使用with語(yǔ)句和自調(diào)用JavaScript函數(shù)的更多信息 。


翻譯自: https://www.hongkiat.com/blog/make-bookmarklet-with-javascript/

總結(jié)

以上是生活随笔為你收集整理的如何使用JavaScript创建文本搜索书签的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。