ホームページ > ウェブフロントエンド > jsチュートリアル > js_javascript ヒントを使用してコンテンツをクリップボード互換ブラウザにコピーする

js_javascript ヒントを使用してコンテンツをクリップボード互換ブラウザにコピーする

WBOY
リリース: 2016-05-16 16:55:06
オリジナル
1077 人が閲覧しました

js 経由でクリップボードにコピーする場合は、最初は難しくありませんが、ブラウザの互換性の問題を考慮すると、jquery-zclip を使用してコピーするのが良いでしょう。ブラウザの互換性。原理については詳しく説明しませんが、それを実装する方法について話しましょう。

たとえば、私の HTML コードは次のとおりです:

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


<span id="id_1">コピーするコンテンツ 1</span>
<span id="id_2">コピーするコンテンツ 2</span>
コピーする内容 3</span>

jquery は言うまでもなく、js ファイルが必要です。さらに jquery-zclip.js と ZeroClipboard.swf があります。これら 2 つのファイルは、次のアドレスの公式 Web サイトからダウンロードできます。 http://www.steamdev.com/zclip /

コピーボタンの生成 js は次のとおりです

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



これをテストすると、難しいことではありませんでした。しかし、それをプロジェクトに挿入すると、問題が発生しました。コピーボタンが生成された場所にはフラッシュはなく、テキストがあった場所にはフラッシュが生成されていなかったことがわかりました。私のプロジェクトのバックグラウンドで使用されている iframe 構造に関係があると思います。これはこのプラグインのバグだと思います。多くの情報を確認したところ、コードを変更する必要があるとのことでしたので、変更しました。

変更する必要があるコードは次のとおりです


getDOMObjectPosition: function (obj, stopObj) {
// dom 要素の絶対座標を取得
var info = {
left: 0,
top : 0,
幅: obj.width ? obj.width : obj.offsetWidth,
高さ: obj.height ?
} ; && (obj != stopObj)) {
//info.left = obj.offsetLeft; //変更前
//info.top = obj.offsetTop; //変更前
jpos = $( obj).position(); //変更後
info.left = jpos.left; //変更後
}

return info;
}


実は、これはこのプラグインの原理に関係しており、この 2 つが重なっていない場合は、ボタンが透明なフラッシュで覆われます。上記の問題が発生します。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート