textarea [「あなたの」Facebookページで、ステータスの更新などを書き込むことができる]のテキストを処理し、新しいテキストに置き換えようとしています。これまでに試したこと:呼び出し
document.body.innerHTML.replace
または、次のように改善された sendkeysを使用します。
$('#'+textarea.id).focus();
$('#'+textarea.id).val('');
$('#'+textarea.id).sendkeys("replacement");
$('#'+textarea.id).sendkeys('{enter}');
$('#'+textarea.id).focus();
$('#'+textarea.id).trigger('keypress');
テキストエリアへの入力をシミュレートします。上記の方法 (またはそのバリエーション) を使用すると、次のシナリオが発生します。
- Textarea の読み取り: 「初期テキスト」(ユーザーが入力したものは何でも);
- テキストエリアの内容を上記のいずれかの方法で置き換えます。
- Textarea 読み取り:「置換されたテキスト」;
- 「投稿」ボタンを押す。
- 投稿されるのは次のとおりです。「最初のテキスト」。
ただし、ユーザーがテキストエリアに戻り、キャレットを移動するだけの文字を追加すると、プロセスは機能します (他の単純なテキストエリアでも機能します)。HTML を調べると、テキストエリアの内容を格納する要素がいくつかあることがわかりますが、テキストエリアのコンテンツを取得するメカニズムはわかりません。これが違いを生むかどうかはわかりませんが、Chrome 拡張機能のコンテンツ スクリプトの一部です