Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung mehrerer Beispiele für Aufrufmethoden der JavaScript-Kopierfunktion

Zusammenfassung mehrerer Beispiele für Aufrufmethoden der JavaScript-Kopierfunktion

伊谢尔伦
伊谢尔伦Original
2017-07-22 15:28:531683Durchsuche

Methode eins, einzelne Identifizierungs- und Verarbeitungsmethode

Die Methode ist sehr einfach und leicht zu verstehen. Sie besteht darin, verschiedene JS-Codes auszuführen, um die Kopierfunktion durch Beurteilung des Client-Browsertyps zu realisieren. Obwohl dies theoretisch funktioniert. Allerdings ist es nicht so einfach, wie wir denken. Da wir in einigen Browsern nicht viel darüber wissen, wie man js-Kopiercode schreibt, weiß ich zumindest IE und FF.

Es wäre viel einfacher, wenn es nur mit IE und FF kompatibel wäre. Hier verwende ich eine im Internet relativ bekannte Methode zur Bestimmung des IE-Kerns, die 13-Byte-Methode, die ich auch häufig verwende.

if("\v"=="v") {//13个字节 
//这里是IE核,执行的代码,亲测兼容IE8 
}else{ 
//非IE核执行代码 
}

Hier ist eine grobe Struktur zum Realisieren des Kopierens

function clipBoard(object){ 
//获取object的值,即复制内容 
var copyTxt=document.getElementById(object).value; 
//调用copy2Clipboar来实现浏览器,判断及执行代码 
if(copy2Clipboard(copyTxt)!= false){ 
alert('复制成功'); 
} 
} 
copy2Clipboard = function(txt){ 
if("\v"=="v"){ 
//IE浏览器执行代码 
window.clipboardData.clearData(); 
window.clipboardData.setData("Text",txt); 
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; 
} 
}

Sie können nach Bedarf verschiedene Beurteilungsbrowsercodes hinzufügen, um die Kopierfunktion unter dem Browser zu realisieren. Unter normalen Umständen basiert die Beurteilung auf der Reihenfolge von IE > FF >

Methode 2, indirekte Flash-Verarbeitungsmethode
Das Prinzip ist sehr einfach. Durch die Erstellung eines Flashs wird der kopierte Inhalt in Form von Variablen an den Flash übergeben und der Flash kopiert den Inhalt dann in den Speicher. Dies wird erreicht. Solange es Flash unterstützt, ist es theoretisch mit den meisten Browsern kompatibel. Diese Methode habe ich heute gesehen und wurde getestet und verifiziert.

Installations- und Nutzungsanweisungen finden Sie auf den beiden oben genannten Websites. Die E-Text-Version und die chinesische Version können nur über die Suche gefunden werden!
Hier ist eine einfache Version des Implementierungsframeworks, bei der die obige Implementierungsmethode verwendet wird. Hier gibt es Änderungen. Laut der offiziellen Version der Anleitung kann diese Funktion problemlos auf einer einzelnen Seite implementiert werden, bei der tatsächlichen Anwendung kann es jedoch in einigen CMS zu Problemen kommen. Was ist das Problem? Auf der IE-Kernseite erscheint die Meldung „Diese Seite wurde beendet“. Der Grund ist sehr einfach: Es wird aufgerufen, bevor das Laden von js abgeschlossen ist. Es stellt sich heraus, dass es sich um ein Problem mit dem IE handelt. Dann können wir die Methode zur Beurteilung des IE verwenden, um den IE zu isolieren, und andere Kerne können mithilfe der Flash-Methode implementiert werden.

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'); 
} 
}

Dies wird verwendet, um festzustellen, ob es sich um einen IE-Kern handelt. Der IE-Kern verwendet keine Flash-Verarbeitung und verwendet direkt den Kopiermechanismus.

//复制处理 
function clipBoard(object){ 
var copyTxt=document.getElementById(object).value; 
if(copy2Clipboard(copyTxt)!= false){ 
alert('复制成功'); 
} 
} 
copy2Clipboard = function(txt){ 
if("\v"=="v") { //判断是否是IE浏览器 
window.clipboardData.clearData(); 
window.clipboardData.setData("Text",txt); 
return true; 
} 
else{ //非IE核直接返回 
return true; 
}

Das Obige ist das einfachste Einstellung der zweiten Methode. Fügen Sie den Code zwischen 93f0f5c25f18dab9d176bd4f6de5d30e9c3bca370b5104690d9ef395f2c5f8d1 ein. Unabhängig davon, ob es sich um die erste oder die zweite Methode handelt, fügen Sie die folgenden zwei Codezeilen
auf der Seite hinzu, die Sie benötigen zu kopieren Kopieren Sie das Textfeld des Inhalts

<input type="text" id="textinfo" 
onmouseout="checkClient(&#39;textinfo&#39;)" value="复制的内容" size="65"/>

Setzen Sie die Trigger-Objekt-Schaltfläche

<p id="d_clip_button" onclick="copyCode(&#39;textinfo&#39;)">复制地址</p>

Dies ist die zweite Methode zum Hinzufügen, legen Sie den Erkennungsbrowser fest

<script>checkClient(&#39;textinfo&#39;);</script>

Das obige ist der detaillierte Inhalt vonZusammenfassung mehrerer Beispiele für Aufrufmethoden der JavaScript-Kopierfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn