javaScript複製功能呼叫實作方案_基礎知識
驗證碼:
最近都沒有什心情去寫博文,主要因為心煩的事情漸漸多起來了。
哎!離題了,回到這篇文章了。說到使用js實現點擊複製的功能,我下面想說的方法也是和網路上的大同小異的。 js實作是很簡單,最難的是相容問題,畢竟用IE以外的人還是有很多的。這裡,我也是根據網路上的相關資源來總結一下方法。
方法一,逐一判別處理法
方法很簡單也很容易懂,就是透過判斷客戶端瀏覽器類別,來執行不同的js程式碼來實現複製功能。雖然從理論上來說,這樣是行得通得。但是,事實並沒有我們想得那麼容易。因為我們並不太清楚一些瀏覽器下js複製程式碼的寫法,至少我所知道的也就是IE和FF。
如果只是相容IE和FF的話,那麼簡單得多了。這裡我使用一個網路上比較有名的判斷IE核的方法,13位元組法,這個也是我常用的。
if("v"=="v") { //13個位元組
//這裡是IE核,執行的程式碼,親測相容IE8
}else{
//非IE核執行碼
}
這裡我寫個大概的實現複製的架構架,具體程式碼我不黏上來的,網路上可以很簡單就找到,給大家參考
function clipBoard(object){
//取得object的值,即複製內容
var copyTxxx=docm. ).value;
//呼叫copy2Clipboar來實現瀏覽器,判斷及執行程式碼
if(copy2Clipboard(copyTxt)!= false){
alert('複製成功');
}
}
copy2Clipboard = function(txt){
if("v"=="v"){
//IE瀏覽器執行程式碼
window.clipboardData.clearData();
return true;
}else if(navigator.userAgent.indexOf("Firefox")>0){
//Firefox瀏覽器
return true;
}else if(window.google && window.chrome){
//chrome瀏覽器
return true;
}else{
alert("瀏覽器不支援");
return false;
}
}
根據需要可以自行新增不同的判斷瀏覽器程式碼,實作該瀏覽器下的複製功能。一般情況下,依照IE > FF > opera/chrome>其他,這樣的順序來判斷。
方法二,flash間接處理法
原理很簡單,透過建立一個flash,將複製的內容以變數的方式傳遞給flash,flash再將內容複製到記憶體中,這樣就實現了複製的功能。只要支援flash,按理上是可以兼容絕大部分的瀏覽器的,這個方法是我今天看到的,也測試驗證了。
安裝及使用方法,可以在上面兩個網址上找到,E文版,中文版只有透過搜尋去找咯!
這裡我提供一下實作框架的簡單版,這裡有用到上面的實作方式。這裡有修改的,根據官方版說明方法,在單頁很容易就能實現該功能,但是在實際應用到某些CMS中,可能會遇到一些問題。什麼問題呢? IE核頁面會彈出 「該頁面已終止」。原因很簡單,就是js載入未完成就呼叫。竟然是IE的問題,那我們就可以使用判斷IE的方法,將IE獨立出來,其他核就使用flash方法實作。
function checkClient(object){//判斷瀏覽器
var copyTxt=document.getElementById(object).value; //取得複製的內容
if("v"!="v "){
//這裡根據官方文件設定
//這裡設定flash位置,絕對相對都可以
ZeroClipboard.setMoviePath('ZeroClipboard.swf');
//建立複製對象
var clip = new ZeroClipboard.Client();
//設定手形
clip.setHandCursor(true);
//設定複製的內容
clip.setText(copyTxt);
//設定觸發物件
>clip.glue('d_clip_button');
}
}
這裡用來判斷是否為IE核,IE核將不使用flash處理法,直接使用複製機制
//複製處理
function clipBoard(object){
var copyTxt=document.getElementById(object).value;
if(copy2Clipboard(copyTxt)!= false){ }
}
copy2Clipboard = function(txt){
if("v"=="v") { //判斷是否為IE瀏覽器
window.clipboardData.clearData( );
window.clipboardData.setData("Text",txt);
return true;
}
else{ //非IE核直接回傳
return true;
}
}
以上為第二種方法的最簡單設定方法,將程式碼放到之間即可不管是第一種,還是第二種方法都要在需要復制的頁面上添加下面兩行代碼
設置複製內容的文本域
onmouseout="checkClient('textinfo')" value="複製的內容" size="65" />
設定觸發物件按鈕
寫到這裡,大概的步驟就是這樣了,其中還有些id的名稱可以依需求修改。至少完整程式碼,可以參考官方的demo。 累了。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用Python呼叫百度地圖API實作地理位置查詢功能?隨著網路的發展,地理位置資訊的取得和利用越來越重要。百度地圖是一款非常常見且實用的地圖應用,它提供了豐富的地理位置查詢服務。本文將介紹如何使用Python呼叫百度地圖API實作地理位置查詢功能,並附上程式碼範例。申請百度地圖開發者帳號和應用程式首先,你需要擁有一個百度地圖開發者帳號,並建立一個應用程式。登入

楔子我們知道物件被創建,主要有兩種方式,一種是透過Python/CAPI,另一種是透過呼叫類型物件。對於內建類型的實例物件而言,這兩種方式都是支援的,例如列表,我們即可以透過[]創建,也可以透過list(),前者是Python/CAPI,後者是呼叫類型物件。但對於自訂類別的實例物件而言,我們只能透過呼叫類型物件的方式來創建。而一個物件如果可以被調用,那麼這個物件就是callable,否則就不是callable。而決定一個物件是不是callable,就取決於其對應的型別物件中是否定義了某個方法。如

PHP攝影機呼叫技巧:如何實現多攝影機切換攝影機應用已成為許多Web應用的重要組成部分,例如視訊會議、即時監控等等。在PHP中,我們可以使用各種技術來實現對攝影機的呼叫和操作。本文將重點放在如何實現多鏡頭的切換,並提供一些範例程式碼來幫助讀者更好地理解。攝影機呼叫基礎在PHP中,我們可以透過呼叫JavaScript的API來實現攝影機的呼叫。具體來說,我們

如何解決PHP開發中的外部資源存取和調用,需要具體程式碼範例在PHP開發中,我們經常會遇到需要存取和調用外部資源的情況,例如API介面、第三方庫或其他伺服器資源。在處理這些外部資源時,我們需要考慮如何進行安全的存取和調用,同時確保效能和可靠性。本文將介紹幾種常見的解決方案,並提供相應的程式碼範例。一、使用curl函式庫進行外部資源呼叫curl是一個非常強大的開源函式庫

如何透過Python程式呼叫百度地圖API實現地圖展示功能?隨著網路的快速發展,地圖應用成為了我們生活中不可或缺的一部分。而百度地圖作為國內最大的地圖應用之一,為我們提供了豐富的服務和API接口,可以很方便地實現地圖展示功能。本文將介紹如何透過Python程式呼叫百度地圖API來實現地圖展示功能,並給出對應的程式碼範例。首先,我們需要在百度開放平台上註冊一個

有很多朋友還不知道matlab如何呼叫m文件,所以下面小編就講解了matlab調用m文件的方法,有需要的小伙伴趕緊來看一下吧,相信對大家一定會有所幫助哦。 1.先開啟matlab軟體,在主介面中點選“開啟”,如下圖所示。 2、然後選擇一個需要打開的m文件,選擇打開,如下圖。 3.接著在編輯器中看m檔案的檔名和變數數目,如下圖。 4.可以在命令列中輸入m檔名後括號加變數值,就可以調用,如下圖所示。 5.最後就可以成功呼叫m文件,如下圖所示。上面就是小編為大家帶來的matlab如何呼叫m檔的全

使用Java呼叫WebService的方法步驟,需要具體程式碼範例Web服務是一種基於Web的應用程式接口,透過網路提供各種功能。在Java開發中,我們經常需要使用Web服務來實現與其他系統的互動。本篇文章將介紹如何使用Java呼叫WebService,並提供具體的程式碼範例。一、了解WebServiceWebService是一種標準化的通訊協議,使用XML格式

Laravel實戰:如何正確呼叫控制器方法?在Laravel框架中,控制器(Controller)是扮演連接路由與模型之間的橋樑作用的重要元件。控制器中的方法是用來處理路由請求,並將資料傳遞給模型進行處理,然後再傳回給視圖展示給使用者。因此,正確呼叫控制器方法對於程式功能的實作是至關重要的。本文將介紹如何在Laravel中正確呼叫控制器方法,並提供具體的程式碼示
