You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript设置Facebook可编辑发帖框内容后功能异常的解决方法

Bookmarklet inserts text into contenteditable div but breaks backspace/delete functionality (Facebook-specific)

我正在开发一个书签工具,点击它就能向当前激活的文本控件插入指定文本。以下是我目前的实现代码:

(function() { 
  var t="<<< VALUE >>>"; 
  var a=document.activeElement; 
  if(!a) alert("No active element found."); 
  if(!!a) {
    if(a.nodeName=="TEXTAREA"||a.nodeName=="INPUT") {
      if(!a.value) a.value=t; 
      else a.value+=t; 
    } else if(a.nodeName=="DIV"&&a.isContentEditable==true) {
      if(!a.textContent) a.textContent=t; 
      else a.textContent+=t; 
    }
  }
})(); 

这段代码对textarea和input控件能正常工作,但在可编辑div上存在问题:虽然文本能成功插入,但之后控件的功能会损坏,无法使用退格或删除键。

测试这个问题的最佳场景是Facebook:将焦点放在新建帖子的文本控件上,执行该函数后就会发现退格和删除键完全无法使用。


编辑:经过评论反馈和测试后,确认这确实是Facebook特有的问题,我已经更新了标题。目前仍不清楚导致这个行为的原因,也不知道该如何解决它。

内容的提问来源于stack exchange,提问作者Daniel Schmid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:32:22