クリップボードにリンクを追加するためのjQueryプラグイン
私たちの多くはブログ、オンラインストア、ニュースサイトなどを持っています...もちろん、オリジナルのコンテンツを公開しようとしていますが、コンテンツがインターネットに表示された後に何が起こるか、もちろんそれが表示され、興味深い場合、ユーザーは時々ページへのリンクをコンテンツと交換します。 目的のページへの新しい遷移も非常に良いですが、優れたテキストを単に取得してコピーし、ICQ \ skype \ mailにドロップした場合-テキストはなくなりましたが、遷移はありません:(。
コピーを禁止することは非常に間違っており、楽しくて面白い©ですが、コピーする際に当社のウェブサイトへのリンクを追加できます。 これをどのように改善するかを検討してください。
-CTRL + C、「コピー」のイベントハンドラを作成するには、クリップボードを操作する必要がありますが、最新のブラウザでは機能しません。
-フラッシュの形で松葉杖を使用します。 また、そうではない、中毒を+1し、バージョン10では、バッファにコピーするには、フラッシュドライブのインターフェイスをクリックする必要があります。
-そして、ユーザーがカーソルで選択したものを見て、慎重にリンクから離れたら、この方法のためにこの記事を書きました。
すべてjQueryのプラグインとして機能します。
プラグインの初期化に基づいて要素を作成します。これをコピーパスツールに当てはめます。
var options = {htmlcopytxt: '<br>More: <a href="' +window.location.href+ '">' +window.location.href+ '</a>' , minlen:25, addcopyfirst: false}
$.extend(options, usercopytxt);
var copy_sp = document .createElement( 'span' );
copy_sp.id = 'ctrlcopy' ;
copy_sp.innerHTML = options.htmlcopytxt;
コピーペーストでテキストが選択されている場合は、選択したテキストにリンクを追加します。
$( this ).mouseup( function (){
if (window.getSelection){ //
selected=window.getSelection();
seltxt=selected.toString();
nslct = selected.getRangeAt(0);
seltxt = nslct.cloneRange();
seltxt.collapse( false );
seltxt.insertNode(copy_sp);
nslct.setEndAfter(copy_sp);
selected.removeAllRanges();
selected.addRange(nslct);
} else if ( document .selection){ //
selected = document .selection;
nslct=selected.createRange();
seltxt=nslct.text;
seltxt=nslct.duplicate();
seltxt.collapse( false );
seltxt.pasteHTML(copy_sp.outerHTML);
nslct.setEndPoint( "EndToEnd" ,seltxt);
nslct.select();
}
});
新しいmousedownでは、古い著作権要素をリンクで削除します。
$( this ).mousedown(function(){
$( '#ctrlcopy' ).remove();
});
当然、リンクは表示されるべきではありません。必要なデザインを追加します。
< style >
#ctrlcopy {
height:1px;
overflow:hidden;
position:absolute;
width:1px;
margin: 5px 0 0 -1px;
line-height:0;
opacity: 0;
}
</ style >
使用方法:
-プラグイン: addtocopyのダウンロード
<script type= "text/javascript" >
$( function (){
$( "#content" ).addtocopy({htmlcopytxt: '<br>: <a href="' +window.location.href+ '">' +window.location.href+ '</a>' , minlen:35, addcopyfirst: false});
});
</script>
プラグインによって処理されるオプション:
オプション | 説明 |
htmlcopytxt | バッファにコピーされたものに追加するものはhtmlを受け入れます |
ミンレン | 選択したテキストの最小長、intを受け入れます |
addcopyfirst | htmlcopytxtをクリップボードの先頭または末尾に追加します。true/ false |
例: こちら
既知の不具合:
Operaでは、テキストは左から右に目立っています
Firefoxでは、addcopyfirst:trueの場合、テキストは初めて強調表示されません。
All Articles