我正在创建一个chrome扩展.基本上,如果用户单击内容菜单选项,我想在所选文本之前和之后插入HTML格式标记.

标签将添加到事件页面中,在添加格式标签后,将新值触发到消息对象的“粘贴”键中的内容脚本.

我的内容脚本的代码如下:

chrome.runtime.onMessage.addListener(handleRequest)

function handleRequest(message, sender)

{

if (message.paste!==undefined)

{

var newNode = document.createTextNode('');

newNode.innerHTML=message.paste;

var cursor = window.getSelection().getRangeAt(0);

cursor.deleteContents();

cursor.insertNode(newNode);

alert(newNode.innerHTML);

}

}

我以为我这样做是正确的,因为根据this

If the new node is to be added to a text Node, that Node is split at the insertion point, and the insertion occurs between the two text nodes.

但是,单击上下文菜单选项的结果只是删除所选的任何文本.永远不会添加新文本,但不会向控制台打印错误.

我知道这对于输入元素或文本区域中的内容不起作用,现在我只是试图让它在页面上的常规文本上工作.

正如预期的那样,警报弹出窗口的内容是格式化标

html range 后插入,javascript – range.insertNode()未按预期插入文本节点相关推荐

  1. javascript range 转为 html,javascript Range对象跨浏览器常用操作

    开发的功能主要涉及即时代码着色(CodeColoring)和语法提示(CodeHints)功能,稍后会总结功能开发中问题或提供源码. 以下是个人对Range对象的了解和常用操作的实例和总结: Rang ...

  2. python列表(list)+索引切片+修改+插入+删除+range函数生成整数列表对象

    python列表(list)+索引切片+修改+插入+删除+range函数生成整数列表对象 列表(list)是什么? 列表是Python中内置有序.可变序列,列表的所有元素放在一对中括号"[] ...

  3. 用vs编写html后sel,选择后插入HTML

    以下函数将在所有主流浏览器的选择结尾处插入DOM节点(元素或文本节点)(请注意,Firefox现在默认允许多个选择;以下仅使用第一个选择): function insertNodeAfterSelec ...

  4. python range函数范围_Python range函数

    Python range函数教程 range函数详解 语法 range(start, stop[, step]) 参数 参数 描述 start 计数从 start 开始.默认是从 0 开始. stop ...

  5. STM32CubeMx配置H7时钟: Frequency searched for is out of range for this vos range

    问题提出 配置时钟树的时候主频想设置到400Mhz,点击快速设置,按下回车,出现了Frequency searched for is out of range for this VOS range 但 ...

  6. 前端实现文本框在光标后插入图片

    为解决这个问题,我们需要先整理一下步骤: 1.从剪贴板中读出图片 2.将图片转为base64编码 3.将图片存入光标的位置 1.(1)我们可以通过设置div监听paste事件 document.que ...

  7. php插入js教程,JavaScript_JavaScript入门教程(2) JS基础知识,在什么地方插入 JavaScript  Ja - phpStudy...

    JavaScript入门教程(2) JS基础知识 在什么地方插入 JavaScript JavaScript 可以出现在 HTML 的任意地方.使用标记,你可以在 HTML 文档的任意地方插入 Jav ...

  8. word2007-2010排版中解决段后插入分页符 新页首行空行问题

    word2007-2010排版中,很多人都会遇到 这个问题.当你在 段后插入分页符 想开启新的一页的时候,新页首行有个空行.如果删除,会连同分页符一起删除.不删除有影响排版美观.那怎么解决呢: 解决办 ...

  9. 在单链表的第i个位置后插入一个节点(阿里+腾讯等面试题总结)

    时间:2014.04.26 地点:基地 ------------------------- 一.题目 题目是非常easy和基础,就是在单链表的第i个位置后插入一个节点.要求写代码,5分钟之内完毕.面腾 ...

最新文章

  1. 64位游戏找call_《使命召唤16:战区》配置注册登录全攻略,三步让你极迅游戏!...
  2. java zipinputstream_Java之解压流(ZipInputStream)
  3. 输出10000内所有素数
  4. 快头条月增迅猛超微视 三四线城市“流量炼金”的上限在哪?
  5. java web 刷新_Java Web项目的保存和刷新
  6. 服务器经常崩溃??让我们来看看简单的内存知识:C语言——内存管理
  7. nginx正则表达式
  8. nginx启用https访问
  9. php array 插值,PHP中的关联数组的插值(双引号字符串)
  10. python 面试题之 生成器
  11. MySQL最好的写的_mysql中写sql的好习惯
  12. android锁机如何制作教程视频教程,Android一枚简单锁机样本的测试与浅析
  13. 自己写的一点福利代码(四)
  14. 周末加班有加班费,真是太好了
  15. Monaco-Editor 多人协作 编辑器
  16. React Native的Navigator详解
  17. Android项目实战——一个简单的记事本程序
  18. ARS408-21毫米波雷达笔记
  19. 【教学类-16-01】20221121《数字卡片9*2》(中班)
  20. flask-sqlachemy note

热门文章

  1. 用友T+系统登录失败且乱码
  2. HTML5网页设计基础——咖啡banner
  3. 使JavaScript的Uint8Array支持读取、写入Half(半精度浮点数)
  4. 1️⃣1️⃣▶网络编程
  5. 电脑发热的原因和可用的解决方法:
  6. 编写jsp脚本代码,浏览器无论无何不显示内容 jsp
  7. Android 计时器,定时功能
  8. 微信小程序点击移除添加class(点击改变背景颜色和字体颜色)
  9. mysql根据时分秒比较_MySQL的5种时间类型的比较
  10. MyCAT 介绍,MyCAT主要功能 ,MyCAT 安装,MyCAT 配置(使用可能遇到的另类问题,见文末)