2016-05-25 2 views
2

私はAccusoftドキュメントビューアを使用しています。私は、クリックすると現在のURLとページ番号クエリ文字列のパラメータをクリップボードにコピーするボタンが必要です。私はclipboard.jsを使用しています。私は現在のURLを取得する方法とURLにページ番号パラメータを追加する方法を正確に知っています。どのようにするか分からないのは、クリップボードに変数(ページ番号パラメータを持つ生成されたURLなど)をコピーすることです。これに関する助言?clipboard.jsを使用してブラウザからURLをコピー

+0

あなたにあなたの変数のコンテンツを配置してみました隠しdivを作成し、このdivをclipboard.jsターゲットとして使用しますか? –

答えて

9

Clipboard.jsクリエーター;)

あなたはそれを達成するために不可欠APIを使用することができます。

var url = document.location.href; 
 

 
new Clipboard('.btn', { 
 
    text: function() { 
 
    return url; 
 
    } 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.10/clipboard.min.js"></script> 
 

 

 
<button class="btn">Copy</button>

+0

ゼノ、ありがとう!それは完璧に動作します!もう1つの質問は、あなたのデモのようにツールチップに「コピーされた」と表示させる方法です。そのコピーのサンプルコードはありません。コピーが完了したら、マウスがボタンから離れると、デフォルトのツールチップに置き換えられるツールチップとして「コピーされました」を表示します。 –

+0

恐ろしい; Dそれにはさまざまな方法があります。たとえば、Bootstrapのツールチップ:http://stackoverflow.com/questions/37381640/tooltips-highlight-animation-with-clipboard-js-click/37395225またはCSSベースのソリューションを使用できます。 PrimerCSSを使用しているclipboardjs.comのソースコードを確認できます:https://github.com/zenorocha/clipboard.js/tree/gh-pages –

+0

ありがとうございました!私は私のために働くいくつかのコードを一緒にハックすることができました!素晴らしいツールと再び、入力のおかげで! –

0

変数の内容をdivに配置し、それをclipboard.jsのターゲットとして使用することによって....
私はそれを試していないと認めなければなりませんが、動作するはずです。

あなたのボタン(clipboard.jsサイトの例):

<button class="btn" data-clipboard-target="#clipboardTarget"> 
    <img src="assets/clippy.svg" alt="Copy to clipboard"> 
</button> 
<div id="clipboardTarget" style="display:none;"></div> 

ターゲットのdivにあなたの変数の内容を配置します。

var myData = "http://example.com?data=something"; 
$("#clipboardTarget").html(myData); 

今コピーする準備ができています。

-----
EDIT

[OK]を、以下の議論の後、私は本当にClipboard.jsをダウンロードすることにより、私の解決策を試してみましたが、それをテストしました。
(いつか私が投稿する前に私のソリューションをテストする方法を学習します!)

は、それがdivのみ表示されている場合に動作することが判明。
悲しいことに。

私の解決策は間違っています。
私はそれをとにかくここに残しています... "それをしないでください、それは偽りの良いアイディアです"

マイケルマホニーに感謝します。
;ここ)

+0

2つのコメントを追加する必要があります。 (1)display:noneに設定されているフィールドからデータを取得することはできません。エラーが発生します。 (2)私はもともとテキストボックスを使って、これを位置付けするように設定しました。左:-999emなので、画面には表示されませんが、コードではまだ到達できます。それはうまくいきましたが、Zenoの提案では変数を使用しています。 –

+0

@Michael Mahony:ご意見ありがとうございました。私はちょうどChromeでテストをしたので、それがどんなエラーを引き起こしたのか、どのブラウザ(私の知る限り)になっているのか教えていただけますか?エラーはありません。また、hidden div consoleの内部にhtmlが記録されています。 –

+0

@Michael Mahony:それともClipboard.jsの制限ですか? –

関連する問題