5

このページでは、ページのほぼどこにでもコピーする Read more at http://と、コピーの末尾に文字列が追加されます。私はどのように疑問に思っていました。ソース (post-copypaste.js) を見て、ブレークポイントを設定した後、私は理解できませんでした。テキストを選択すると、その領域が発火しているようです。

(Firefox で選択したソースを表示して) DOM を調べてみましたが、DOM にテキストが表示されませんでした。したがって、それはJavaScriptのトリックに違いありません。コントロールCイベントをキャッチすることは想像できますが(それが起こっているかどうかはわかりません)、DOMに属しているため、コンパイルされているテキストを追加または変更する方法を想像できません。ちらつきなどは見られません

そのJSトリックはどのように機能しますか、またはそれを理解するためにどのようにデバッグしますか?

4

1 に答える 1

0

しかし厄介なのは、通常のウィンドウ/DOM での選択が影響を受けていないように見えることです。

ありますが、見えないだけです。通常、ページの別の場所にコンテナーが存在します (必ずしも表示されているとは限りません)。選択したコンテンツがそこに貼り付けられ、拡張され、コピーされ、コンテナーから削除されます。すべてが一瞬で完了し、どこかに貼り付けるまでに、クリップボードにはすでに拡張コンテンツが保存されています。

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

于 2013-02-24T13:45:17.143 に答える