我正在嘗試處理textarea中的文本[在Facebook組頁面上。 '寫文章'有一個文本區域]並將其替換爲新文本。這是使用使用javascript在textarea中設置文本
textHolder = document.getElementsByClassName("uiTextareaAutogrow input mentionsTextarea textInput")[0];
var vntext=textHolder.value;
var vn2text=Encrypt(vntext);
textHolder.value=vn2text;
所以新文本在文本區看到的Greasemonkey腳本完成,但在單擊「後」按鈕時,新的文本不採取代替舊的文本張貼
但是,如果我們手動將至少一個字符插入到已處理的文本中,然後在單擊「發佈」按鈕後發佈生成的文本。所以我不明白爲什麼它沒有手動插入文本而直接不採取新的文本。
還有其他事件在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>
也許所有的onfocus垃圾都會干擾帖子的功能。那麼多內聯JS代碼是**從不**是一個好主意。 – 2011-12-24 00:56:33
@MarcB - 內嵌JavaScript *永遠*真的是個好主意嗎? :) – 2011-12-24 01:21:17
@AdamRackis是的,Google一直在做。但如果你不是谷歌...... :) – 2011-12-24 04:01:11