クリップボードにリンクを追加するためのjQueryプラグイン

私たちの多くはブログ、オンラインストア、ニュースサイトなどを持っています...もちろん、オリジナルのコンテンツを公開しようとしていますが、コンテンツがインターネットに表示された後に何が起こるか、もちろんそれが表示され、興味深い場合、ユーザーは時々ページへのリンクをコンテンツと交換します。 目的のページへの新しい遷移も非常に良いですが、優れたテキストを単に取得してコピーし、ICQ \ skype \ mailにドロップした場合-テキストはなくなりましたが、遷移はありません:(。



addtocopy plugin



コピーを禁止することは非常に間違っており、楽しくて面白い©ですが、コピーする際に当社のウェブサイトへのリンクを追加できます。 これをどのように改善するかを検討してください。







-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