ホームページ  >  記事  >  ウェブフロントエンド  >  コンテンツをclipboard_javascriptスキルにコピーするための主流ブラウザと互換性のあるJS

コンテンツをclipboard_javascriptスキルにコピーするための主流ブラウザと互換性のあるJS

WBOY
WBOYオリジナル
2016-05-16 16:27:321572ブラウズ

現在、IE、Firefox、Chrome、Safariなどブラウザの種類が増えているため、コンテンツをクリップボードにコピーするちょっとした機能をjsで実装するのはそう簡単ではありません。

FLASH 9 の時代には、すべてのブラウザの JS を強制終了してコンテンツをクリップボードにコピーするソリューションがありました :

このソリューションは、最も一般的な方法の 1 つです。有名なクリップボード コピー ソリューション は、クリップボードにコンテンツをコピーするためのブリッジとして Clipboard.swf を使用します。

原理は次のとおりです。非表示の Flash ファイルを作成し、「clipboard=..」を Flash 内の変数 FlashVars に割り当てます。この割り当てを通じて、Flash はコピーされたコンテンツをクリップボードに置きます。この方法は、IE、Firefox、Opera、Chrome、Safari と互換性があり、まさに「ユニバーサル」ソリューションです。ブラウザ Flash のインストール率は非常に高く、ほぼ完璧なソリューションです。

コードをコピーします コードは次のとおりです:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
http://www.w3.org/1999/xhtml">
<頭>
Web 開発者 - <a href="http://www.Admin10000.com">www.Admin10000.com</a>

<スクリプトタイプ="text/javascript"> var Clipboardswfdata;
var setcopy_gettext = function(){
Clipboardswfdata = document.getElementById('test_text').value;
//alert(clipboardswfdata);
window.document.clipboardswf.SetVariable('str', Clipboardswfdata);
}
var floatwin = function(){
alert('正常にコピーされました!');
//document.getElementById('clipinner').style.display = 'none';
}




コードをクリップボードにコピーします








clipboard.swf のダウンロード アドレス: http://www.jeffothy.com/weblog/uploads/clipboard.php

しかし、Flash 10 の時代では、上記の方法は機能しなくなりました。

Flash10 では、SWF 上で実際の操作 (マウスのクリックなど) を実行することによってのみクリップボードにアクセスできると規定されており、上記の方法では、JavaScript を通じて Flash クリップボードを操作するために隠し SWF ファイルのみが使用され、ユーザーはアクセスできません。 swf ファイルに対する実際の操作はないため、このメソッドは無効です。

それでは、この「実際の運用」の問題をどのように解決するのでしょうか? JavaScript ライブラリ

Zero Clipboard

を使用できます。この js ライブラリは、Flash 10 を使用したクリップボードへのコピーをサポートできます。このメソッドの原理は、ボタンや div などの DOM 要素を透明なフラッシュ (ユーザーには見えません) でカバーすることです。DOM をクリックすると、フラッシュが実際にクリックされ、フラッシュのクリップボードにアクセスします。 以下はデバッグされた例です:

コードをコピー コードは次のとおりです:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
http://www.w3.org/1999/xhtml">
<頭>
ゼロクリップボードテスト


<スクリプトタイプ="text/javaScript">
  var クリップ = null; 
  function $(id) { return document.getElementById(id); }
  関数 init() {
    クリップ = 新しい ZeroClipboard.Client();
    Clip.setHandCursor(true);  
    Clip.addEventListener('mouseOver', 関数 (クライアント) {
    // マウスオーバーでテキストを更新します
    Clip.setText( $('fe_text').value );
    });
    
    Clip.addEventListener('complete', function (client, text) {
    //debugstr("テキストをクリップボードにコピーしました: " text );
    alert("このアドレスはすでに改変されています。Ctrl V を使用してください。");
    });
 
    Clip.glue('clip_button', 'clip_container' );
  }




复制


点击下载该类库: http://www.jb51.net/jiaoben/24961.html

調整時間は Web サイトに転送され、直接フラッシュを開くと問題が発生する可能性がありますが、制限はありません。zeroClipboard.js 文書内のmoviePath プロパティは false の場所、つまり、目下の ZeroClipboard.swf に保存されている場所です。

このような js 作成コンテンツから剪定パネルへのスキームは、Firefox / IE / opera / chorme / safari のすべての浏览器をサポートできます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。