整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          「親測」JavaScript 復制顯示內容來源

          「親測」JavaScript 復制顯示內容來源
          document.addEventListener("copy",function(e){
          //取消默認事件,才能修改復制的值
          e.preventDefault();
          //復制的內容
          var copyTxt=`${window.getSelection(0).toString()}
          \n作者:科技小鍋蓋
          \n鏈接:${window.location.href}
          \n著作權歸*科技小鍋蓋*所有,任何形式的轉載都請聯系QQ:1540217035獲得授權并注明出處。`
          if(e.clipboardData) {
          e.clipboardData.setData('text/plain', copyTxt);
          }
          else if(window.clipboardData){
          return window.clipboardData.setData("text", copyTxt);
          }
          });

          是科技小鍋蓋正在使用的方法,很好用,兼容各種瀏覽器!


          作者:科技小鍋蓋


          鏈接:https://www.xiaoguogai.cn/detail/id/40.html


          著作權歸*科技小鍋蓋*所有,任何形式的轉載都請注明出處。


          務人士在討論工作

          引言

          在前端開發的世界里,提供用戶友好的交互體驗始終是我們的追求。其中一個經常被忽視卻極其實用的功能就是讓用戶能夠輕松地復制網頁上的內容到他們的剪貼板。這種能力在各種場景下都能派上用場,比如讓用戶復制代碼片段、優惠券代碼、鏈接等等。本文將探討如何使用JavaScript實現這一功能,以及在不同瀏覽器和設備上的最佳實踐。

          技術概述

          復制內容到剪貼板的傳統方法是使用document.execCommand('copy'),但這種方法已經被廢棄,因為存在安全性和跨瀏覽器兼容性的問題。現在推薦的方法是使用navigator.clipboardAPI,這是一個現代的、安全的API,用于讀取和寫入用戶的剪貼板數據。

          核心特性和優勢

          • 安全性: navigator.clipboardAPI只允許在用戶交互(如點擊事件)中使用,防止惡意腳本自動復制內容。
          • 跨平臺: 支持最新版本的主流瀏覽器,包括Chrome、Firefox、Safari和Edge。
          • 異步: API是異步的,使用Promise來處理操作結果。

          代碼示例

          async function copyToClipboard(text) {
            try {
              await navigator.clipboard.writeText(text);
              console.log('Content copied to clipboard');
            } catch (err) {
              console.error('Failed to copy to clipboard:', err);
            }
          }
          

          技術細節

          navigator.clipboardAPI的核心方法是writeText()readText()writeText()接受一個字符串參數并將它寫入剪貼板,而readText()則返回一個Promise,解析后為剪貼板上的文本。

          分析技術特性和難點

          盡管navigator.clipboardAPI提供了強大的功能,但它也有一些限制:

          • 權限: API需要運行在HTTPS環境下才能使用,除非在本地文件系統中運行。
          • 異步操作: 使用Promise意味著我們需要處理異步邏輯,對于不熟悉異步編程的新手來說可能是個挑戰。

          實戰應用

          假設你正在構建一個代碼分享平臺,用戶可以在這里查看和復制代碼片段。你可以使用navigator.clipboard.writeText()來實現一個“復制”按鈕。

          代碼示例

          <button id="copy-button">Copy Code</button>
          <pre id="code-snippet">console.log('Hello, World!');</pre>
          
          <script>
            document.getElementById('copy-button').addEventListener('click', async ()=> {
              const codeSnippet=document.getElementById('code-snippet').textContent;
              await navigator.clipboard.writeText(codeSnippet);
              alert('Code copied to clipboard!');
            });
          </script>
          

          優化與改進

          在實際應用中,可能需要考慮一些額外的優化措施,比如增加用戶反饋、處理API不支持的情況以及提高性能。

          代碼示例

          async function copyToClipboard(text) {
            if (navigator.clipboard && navigator.clipboard.writeText) {
              await navigator.clipboard.writeText(text);
              console.log('Content copied to clipboard');
            } else {
              // Fallback for browsers that don't support the Clipboard API
              const textarea=document.createElement('textarea');
              textarea.value=text;
              document.body.appendChild(textarea);
              textarea.select();
              try {
                document.execCommand('copy');
                console.log('Content copied using execCommand');
              } catch (err) {
                console.error('Failed to copy to clipboard:', err);
              }
              document.body.removeChild(textarea);
            }
          }
          

          常見問題

          問題: 在不支持navigator.clipboardAPI的舊瀏覽器中怎么辦?

          解決方案: 使用document.execCommand('copy')作為回退方案,盡管它已被廢棄,但在某些情況下仍能提供基本功能。

          總結與展望

          復制內容到剪貼板的能力是前端開發中一個看似微小卻非常實用的功能。通過使用navigator.clipboardAPI,我們可以安全、高效地實現這一目標。隨著瀏覽器對現代API的支持不斷增強,我們可以期待更多類似的功能來提升用戶體驗。在未來,我們可能會看到更多原生的API來簡化開發者的工作,同時也為用戶提供更安全、更流暢的互聯網體驗。掌握這些API不僅能夠提升你的開發技能,還能讓你的網站或應用程序在競爭中脫穎而出。

          資料的時候,偶(jing)爾(chang)會碰上這種狀況,在復制網頁水果的文字時,突然彈出一個提示窗口“該文字不可復制”……這時候就輪到小編上場啦!!!馬上教你們幾招,輕松跳過這一步,把文字給復制下來。

          1、網頁源文件

          直接到網頁的源文件中,就能把文字給復制出來,然后粘貼到Word中,找到「替換」功能,用通配符「<*>」把中間的這些代碼給刪掉。

          要進入到網頁的源文件中很簡單,只有在網頁的空白處,按下鼠標右鍵,就能看到「查看源文件」的選項,點擊就能跳轉到源文件的頁面了。

          2、Console法

          直接按下鍵盤上的F12,也能完成網頁文字的復制,而且比上一個方面簡單得多。

          按下F12之后,網頁右邊會彈出一個窗口,點擊選項卡中的「Console」標簽,在底下空白的地方輸入「$=0」然后按下Enter鍵,之后再到網頁上選中文字、右鍵復制試試?這會兒就不會再彈出提示窗口了。

          3、手打代碼

          要是按下F12之后沒有反應,那就用這個方法試試。它也可以在操作后,直接到網頁上復制文字。

          切換輸入法到英文模式,然后手動輸入這串字符「javascript:void($={});」,弄好之后按下Enter鍵就好。這個代碼必須手打,不能偷懶用復制粘貼的方式,要不就沒有作用了。

          4、文字識別

          最后這個是終極大招,可以完美復制任何網頁上的文字。只要我們將這些頁面保存成圖片、或者是直接截圖下來,然后用帶有圖片文字識別的軟件,就能把文字提取出來了。

          小編用的是「迅捷PDF轉換器」的特色功能,它里面有一個「圖片轉文字(OCR)」,選擇后上傳(多張)圖片,設置好輸出格式和識別效果,最后按下「開始轉換」就可以了。

          上面這4招,基本可以搞定網頁文字復制不了的問題,推薦大家收藏一下,需要用到的時候直接打開看看就好。


          主站蜘蛛池模板: 国产一区二区成人| 亚洲Av高清一区二区三区| 亚洲电影一区二区三区| 久久精品免费一区二区喷潮| 中文字幕日韩人妻不卡一区| 在线欧美精品一区二区三区| 久久亚洲中文字幕精品一区四| 国产精品一级香蕉一区| 国产一区视频在线| 福利视频一区二区牛牛| 怡红院一区二区三区| 亚洲一区无码中文字幕乱码| 日本精品高清一区二区| 无码人妻一区二区三区免费n鬼沢| 高清一区二区三区免费视频| 色欲AV无码一区二区三区| 麻豆AV无码精品一区二区| 无码人妻品一区二区三区精99| 日本一区二区三区中文字幕| 成人欧美一区二区三区在线视频| 一区二区三区在线|欧| 国产免费无码一区二区| 中文字幕一区二区三区在线播放 | 久久se精品动漫一区二区三区| 国产一区二区三区无码免费| 国产福利91精品一区二区 | 亚洲免费视频一区二区三区| 无码午夜人妻一区二区不卡视频| 91精品福利一区二区三区野战| 不卡一区二区在线| 国产一区二区三区在线影院| 亚洲国产一区视频| 日本道免费精品一区二区| 国语精品一区二区三区| 国产一区二区在线视频| 少妇激情一区二区三区视频| 91午夜精品亚洲一区二区三区| 精品无码一区在线观看| 国产一区二区久久久| 无码人妻精品一区二区三区不卡 | 精品国产一区二区三区色欲|