我正在尝试处理 textarea 中的文本 [在“您的”Facebook 页面上,人们可以在其中编写状态更新等]并将其替换为新文本。到目前为止我尝试了什么:打电话
document.body.innerHTML.replace
或者像这样使用改进的发送键:
$('#'+textarea.id).focus();
$('#'+textarea.id).val('');
$('#'+textarea.id).sendkeys("replacement");
$('#'+textarea.id).sendkeys('{enter}');
$('#'+textarea.id).focus();
$('#'+textarea.id).trigger('keypress');
模拟输入文本区域。使用上述方法(或其变体)会导致以下情况:
- Textarea 读取:“初始文本”(无论用户输入什么内容);
- 用上述任一方法替换 textarea 内容;
- Textarea 内容为:“替换文本”;
- 按下“发布”按钮;
- 发布的是:“初始文本”;
但是,如果用户返回到 textarea 并添加任何仅移动插入符号的字符(它也适用于其他更简单的 textarea),则该过程有效。检查 html 表明有一些元素存储了 textarea 的内容,但抓取 textarea 内容的机制让我无法理解。我不知道这是否有所作为,但它是 chrome 扩展的内容脚本的一部分