this answer(2番目のオプション)のコードを使用して、コピーする内容にテキストを追加することができました。しかし、文字列の連結を変更してreplace
への呼び出しを追加すると、 "replace is a function"というエラーが表示されます。Javascript/jQueryを使用してクリップボードに送信する前にコピーされているテキストを検索/置換する方法は?
copytext = window.getSelection().replace(/some pattern/, 'replace value'); // Fails
「選択」オブジェクトは非常に複雑なようで、その中のテキストを見つけることさえできません。私はそれにtoString
を呼び出すことができますが、私はcontenteditable divからHTMLをコピーしているので、それはオプションではないので、私は書式を保持する必要があります。
私はdivのコンテンツに相対リンクがあり、何らかの理由でコピーされたテキストの絶対リンクに変換されているため、これを実行しようとしています。これはrawgitからmy demoにアクセスする場合にのみ発生します。ローカルでは正常に動作します。
私はこれをどのように達成することができますか?あなたは(Selectionオブジェクトを返しますgetSelection()
)文字列にキャストする必要がhttps://jsfiddle.net/8kx8v8pb/
'+'オペレータがちょうどオブジェクトを文字列に強制的に変換するのに役立ちます願っています。明示的に '.toString()'を呼び出す(または '+" "で偽装) – blgt
'第2のオプション ' - あなたはIEに興味がありますか? –
http://stackoverflow.com/questions/4176923/html-of-selected-text/4177234#4177234選択オブジェクトからhtmlを取得する方法を示します。 – jHilscher