2016-04-07 21 views
1

JSを使用してウェブサイトからコピーできるHTMLテキストの長さを制限できますか?私はTyntのようないくつかの商用製品を見てきましたが、あなたは200文字の選択だけを許可することはできないようですね?ウェブサイトからのコピー&ペーストの文字数の制限

+0

現在の選択肢を取得して修正することができます...これは何の目的でしょうか? – CBroe

+1

私よりも献身的な人は、おそらく 'user-select:none; 'とクリックイベントリスナと一緒に何かをハックする可能性がありますが、別の解決策が必要です。 – Taconut

+0

私は、人々がページからコンテンツ全体をコピーして別の場所に貼り付けることを防ぎたいと思っています。私は200文字をコピーするだけです。 –

答えて

1

このコードは最初の200文字にカットされ、コピーされたものにさらに多くのリンクが追加されます。

document.body.oncopy = function() { 
    var body_element = document.getElementsByTagName('body')[0]; 
    var selection; 
    selection = window.getSelection(); 
    var pagelink = "<br />Read more at: <a href='" + document.location.href + "'>" + document.location.href + "</a><br />"; 
    var copytext = selection.substring(0,200) + pagelink; 
    var newdiv = document.createElement('div'); 
    body_element.appendChild(newdiv); 
    newdiv.innerHTML = copytext.substring(0,8);; 
    selection.selectAllChildren(newdiv); 
    window.setTimeout(function() { 
     body_element.removeChild(newdiv); 
    }, 0); 
}; 
+0

[c.bavota](http://bavotasan.com/about/)ですか?そうでない場合は、[投稿の内容](http://bavotasan.com/2010/add-a-copyright-notice-to-copied-text/)をそのまま貼り付け、それを渡す代わりにクレジットとリンクを付ける必要がありますあなたのオリジナル作品として。 –

+0

私は申し訳ありませんが、実際には私が外付けドライブのライブラリに保存したものでしたが、私はソースが保存されていないほど長くなっています。 – imvain2

+0

'Selection'オブジェクトに対して' substring() 'を実行することはできません(' window.getSelection() 'は' Selection'オブジェクトを返します)。 'selection.toString()'を使う必要があります。 **注**のセクションを参照してください:[Selectionオブジェクトの文字列表現](https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection) – chirag

関連する問題