Я пытаюсь обработать текст в текстовой области [на странице группы Facebook.«написать сообщение» имеет одну текстовую область] и заменить его новым текстом.Это делается с помощью скрипта Greasemonkey
textHolder = document.getElementsByClassName( "uiTextareaAutogrow input mentionsTextarea textInput" )[0];
var vntext=textHolder.value;
var vn2text=Encrypt(vntext);
textHolder.value=vn2text;
Таким образом, новый текст виден в текстовой области, но при нажатии кнопки «Опубликовать» новый текст не берется, вместо старого отправляется текст
Но если мы вручную добавим хотя бы один символ в обработанный текст, то полученный текст будет опубликован после нажатия кнопки «Опубликовать».Поэтому я не понимаю, почему он напрямую не берет новый текст без вставки текста вручную.
Есть другие события, вызываемые в элементе textarea, но я не знаю, что именно они делают.
Итак, что нужно сделать, чтобы новый текст был опубликован?
DOM для текстовой области на странице Facebook выглядит следующим образом:
<textarea
class="uiTextareaAutogrow input mentionsTextarea textInput DOMControl_placeholder"
title="Write something..." name="xhpc_message_text" placeholder="Write something..."
onfocus="return wait_for_load(this, event, function() {if (!this._has_control) { new TextAreaControl(this).setAutogrow(true); this._has_control = true; } return wait_for_load(this, event, function() {JSCC.get('j4ef51acb72eb241587530255').init(JSCC.get('j4ef51acb72eb241587530256'));;JSCC.get('j4ef51acb72eb241587530256').init(["buildBestAvailableNames","hoistFriends"]);JSCC.get('j4ef51acb72eb241587530253').init({"max":10}, null, JSCC.get('j4ef51acb72eb241587530255'));;;});});"
autocomplete="off" style="direction: ltr; "
>
Write something...
</textarea>