2013-02-23 23 views
5

this pageページ上のほとんどの場所でコピーすれば、コピーの末尾に文字列Read more at http://が追加されます。私はどのように不思議だった。ソース(post-copypaste.js)を見てブレークポイントを設定した後、私は理解しませんでした。その領域はテキストを選択すると発射されるようです。このJSコピートリックはどのように機能しますか?

私はDOMを見てみました(firefoxで選択されたソースを表示しています)、domのテキストが見えませんでした。だからそれはJavaScriptのトリックでなければなりません。私はコントロールのCイベント(私はそれが起こっているかどうかわからない)をキャッチ想像することができますが、私はそれがドームに属しているので、あなたがテキストを追加したり影響を与えることができます想像できません。

JSトリックはどうやって動作するのですか、それをどのようにしてデバッグするのですか?

+4

このページでは、http://i.po.st/static/script/post-copypaste.jsで完了しました(Chromeウェブインスペクタには、divの 'copy'イベントのリスナーがあります)。ブロックフィード ') – robertklep

+3

真剣に...なぜdownvote ?? OPは本物の質問をしており、助けを求めています。問題については十分な研究が行われており、営業担当者の意図は明確です。 –

+0

私はChrome 24で同じ動作をしていません... – guypursey

答えて

0

しかし、厄介なのは通常のウィンドウでの選択です/ domは影響を受けていないようです。

これは表示されますが、表示されません。通常は、ページ上の他の場所にコンテナがあります(必ずしも目に見えるわけではありません)。選択したコンテンツがそこに貼り付けられてから、コンテナからコピーされ、削除されます。すべてがほんの少しの時間が必要です。クリップボードには、それをどこかに貼り付けるまでに、すでに拡張コンテンツが保存されています。

例としてリンクしているページをよく見ると、本体にpw-rootのクラスを持つ空のdivタグがあります。 <div class='pw-root'></div>テキストをコピーすると、1秒間(たとえばFirebugに表示されます)、上で説明したように変更され、再び空になります。

+0

フォーカス/選択がオフスクリーン/隠しdivにあるときに、選択(画面上に非表示)が変更されていないことは、まだわかりません。誰かがhttp://bavotasan.com/2010/add-a-copyright-notice-to-copied-text/を投稿しています。この例では、テクニックのためにテキストがコピー時に選択解除されます。 –

+0

どうやってそれが起こっているのを見ることができますか?私は一度誰かが私にクロームのトリックを見せていることを覚えているが、私はその時点で火かび虫を壊す方法を知らない –

関連する問題