谷歌浏览器和铬中不支持不连续选择错误

2023-11-24

我正在开发一个书签应用程序,我必须在其中存储用户选择的关键字、单词或内容。我使用 createRange() 和 addRange() javascript 方法来创建范围,然后找出用户选择的元素/内容。我为此编写的代码如下。

<head>
<script type="text/javascript">
    var storedSelections = [];

    function StoreSelection () {
        if (window.getSelection) {
            var currSelection = window.getSelection ();
            for (var i = 0; i < currSelection.rangeCount; i++) {
                storedSelections.push (currSelection.getRangeAt (i));
            }
            currSelection.removeAllRanges ();
        } else {
            alert ("Your browser does not support this example!");
        }
    }

    function ClearStoredSelections () {
        storedSelections.splice (0, storedSelections.length);
    }

    function ShowStoredSelections () {
        if (window.getSelection) {
            var currSelection = window.getSelection ();
            currSelection.removeAllRanges ();
            for (var i = 0; i < storedSelections.length; i++) {
                currSelection.addRange (storedSelections[i]);
            }
        } else {
            alert ("Your browser does not support this example!");
        }
    }
</script>
</head>
<body>
    Select some content on this page and use the buttons below.<br />         <br />
    <button onclick="StoreSelection ();">Store the selection</button>
    <button onclick="ClearStoredSelections ();">Clear stored selections
</button>
    <button onclick="ShowStoredSelections ();">Show stored selections</button>

</body>

这段代码在 Firefox 上完美运行。我能够一一选择多个内容,并能够再次显示所选内容,但在 chrome 和 chromium 上我得到Discontiguous selection is not supported.当我在范围数组中存储多个元素并单击“显示存储的选择”按钮时,出现错误。

帮助将不胜感激。如果有其他替代方法可以完成此书签任务,请建议我。


Write

window.getSelection().removeAllRanges();

就在创建范围之前。

https://bugs.chromium.org/p/chromium/issues/detail?id=399791

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌浏览器和铬中不支持不连续选择错误 的相关文章

  • Android Chrome 忽略 -webkit-text-size-adjust:none 属性。缩小时文本会缩放

    我们的客户请求一个网站 但不想支付移动版本的费用 我们仍在使其在移动设备上运行 当完全缩小时 Android 4 0 上的 Chrome 会缩放一堆文本 我们尝试设置 webkit text size adjust none 属性 但它似乎
  • 打开一个新的浏览器窗口/iframe 并在 TEXTAREA 中从 HTML 创建新文档?

    我正在尝试使用 HTML5 的新离线功能编写一个 Web 应用程序 在此应用程序中 我希望能够编辑一些 HTML 完整文档 而不是片段
  • 分割路径名获取路由参数

    我在我的应用程序中使用 mvc 和 jquery 我有这样的路由 url ID Controller Action 我想获取URL并将其拆分以获取jquery中的id 您可以从获得路径名的那一刻起将其拆分 var pathname wind
  • .addClass 仅添加到无序列表中单击的项目符号

    我有一个简短的无序列表 其中有两个项目符号 我添加了一些 Javascript 这样当我单击项目符号时 它会向其中添加一个类 问题是 它将该类添加到所有现有的 li 中 而不仅仅是我单击的那个 这是 JSFiddle http jsfidd
  • 单击链接时如何将另一个 JSP 页面注入到

    我在一个JSP页面中有两个不同的部分 其中一个包含链接菜单 单击时 div2 id content 会相应加载不同的页面 我正在做类似的事情 div ul class navbar li a href Login jsp Login a l
  • 多个链接 dc.js 图表的 d3-tooltips

    我正在寻找修改 dc js 的开箱即用工具提示 似乎有一个解决方案使用d3 js 工具提示 https github com Caged d3 tip as in 这个问题 https stackoverflow com questions
  • 在 Bootstrap 3 中的工具提示中添加换行符

    我正在使用 Bootstrap 3 并向我的 div 添加了一个工具提示 我尝试过使用 n 和 创建新行 Bootstrap 会阻止我吗 div class content show tooltip 你需要添加data html true
  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Node.js 中的 SetTimeout 问题

    我有以下代码 它在 Chrome V8 下运行良好 但在节点内失败 var id id setTimeout TimeoutHandler 10 console log SET function TimeoutHandler clearTi
  • 如何编写具有依赖状态的 redux 减速器

    我正在开发一个 React Redux 应用程序 它允许将 小部件 添加到页面并在 2D 空间中进行操作 要求可以同时选择和操作多个小部件 我当前状态树的简化版本如下所示 widgets widget 1 x 100 y 200 widge
  • 如何沿着 Parse Promise 链传递额外数据[重复]

    这个问题在这里已经有答案了 在我的 Parse Cloude 代码中 我需要运行几个连续的查询 每个查询都使用 find Example var promise firstQuery get objectId then function r
  • 引导多重选择(刷新)无法正常工作

    我正在使用引导多选列表框 当用户在多选上选择选项时 它会正确显示 但有一个选项可以重置以前选择的选项 当用户点击重置按钮时 自动style display none添加到下拉按钮 下拉列表变得不可见 这是我的代码 button click
  • 在 Node.js 中封装 require 可以解决相对路径调用

    我正在尝试创建一个 require 包装器来加载依赖项 但我发现很难让它像原始的 require 函数一样工作 当路径是相对路径时 包装器无法解析为正确的路径 因为我的加载程序和调用程序文件不在同一文件夹中 这是一个简化的描述 index
  • 有条件地使用 Node.js 提供两个 React 构建

    我有两个基于设备向客户端提供服务的 React 应用程序 我使用 Node js 和 Express 来实现这一点 我借了static资产处理部分来自这个问题在这里 https stackoverflow com questions 644
  • Javascript变量是一个对象数组,但无法访问元素

    我正在使用 Firebase 数据库和 Javascript 并且我有代码可以获取每个类别中的每个问题 我有一个名为 类别 的对象 其中包含名称 问题和问题计数 然后它将被推入类别列表 questionsPerCategory 在我刚刚做的
  • 将 ERB 与 Handlebars 模板结合使用

    我有一个使用 ajax 创建新标签的模式 它使用 Tags 参数执行 POST 方法 而无需重新充电视图 因此 我希望根据所选的 price type 参数来呈现一个或另一个价格 div 我使用 Handlebars 所以我想这不是 rub
  • Mailto 链接在 Chrome 中不起作用,但在 Firefox 中有效?

    似乎是mailto我们在网站中嵌入的链接在 Chrome 中无法执行任何操作 但它们在 Firefox 中可以工作 简单的例子在这里 http jsfiddle net wAPNH http jsfiddle net wAPNH a hre
  • 带分页的过滤表

    我想要一个带有分页的表格 同时在表格标题中带有搜索框 所以使用这段代码jsfiddle分页 http jsfiddle net Xugej 1445 I want output like this 这是我的过滤代码 function sea
  • 如何在 jest 中测试调用和应用函数?

    这是我的callnapply js file const callAndApply caller object method nameArg ageArg tShirtSizeArg method call object nameArg a
  • Apollo 服务器,Graphql - 必须提供查询字符串

    我不确定我在这里做错了什么 我现在已经被困了一段时间 让我的突变在无服务器设置中与我的 apollo server lambda 一起运行 当我尝试运行这样的查询时 我的查询工作正常 mutation signIn username Som

随机推荐

  • CSS 背景图像在 iPhone 上的渲染方式不同

    我们的页面设计在我尝试过的所有 PC 浏览器中都表现良好 但在 iPhone 或 iPod Touch 上查看时却很奇怪 问题与非常高的居中背景图像有关 content container background image url cont
  • 在 log4net 中使用 smtpAppender 的多个 smtphost 地址

    我希望能够指定多个 smtp 服务器主机地址并实现一种逻辑 如果使用一个 smtp 服务器的电子邮件失败 它会尝试使用下一个 smtp 服务器地址发送 是否可以使用 log4net 我们可以重写 log4net 的一些功能并在其中实现我们自
  • android 设置首选项屏幕的分隔线填充

    我有 PreferenceScreen 包含许多 CheckBox 我通过将其引用到自定义布局来自定义它 如下所示
  • gnuplot 边距在多图模式下如何工作?

    我对 gnuplot 边距有点困惑 首先我不知道这些东西指向什么单位 它们是指向画布坐标还是画布坐标的一部分 它们在 gnuplot 模式和 multiplot 模式下的行为是否相同 在多图模式下绘制一些数据时出现了我的问题 我正在绘制到屏
  • 如何制作可重用的 HTML 导航菜单?

    我相信这个话题一直都会出现但我似乎无法给出一个简洁的答案 我有一个垂直菜单栏 我想在网页 gt 20 中重复使用它 这Menu Bar以 HTML 编码并使用 UL LI A div 标签和 CSS 我们需要这个 Reusable 可维护
  • Mysql 匹配...与“%term%”之类的简单匹配

    有什么问题 term POST search function buildQuery exploded count query if count exploded gt count query AND column LIKE explode
  • javax.tools 依赖于 JDK 吗?

    我想用JavaCompiler动态创建一些类 我找到了源代码javax tools封装了 但是没有实现 互联网上的一些帖子说这取决于tools jar 我不知道tools jar与 JRE 合作 那么 在没有安装JDK的情况下 可以在JRE
  • mycout 自动结束

    我想要实施类MyCout 它可以提供自动endl的可能性 即这段代码 MyCout mycout mycout lt lt 1 lt lt 2 lt lt 3 outputs 123 empty line here 是否可以实现具有此类功能
  • IOS:将图像添加到自定义 MKAnnotationview

    我想将自定义图像添加到地图中的注释中 我制作了以下自定义 MkAnnotationView import
  • 验证 do-while 循环中的输入类型

    基本上 我需要确保输入是integer 像这样 do printf Enter gt scanf d integer while user entered a char instead of an int 我尝试了各种方法 但当我尝试输入时
  • 是什么让这个头文件使 VS2005 慢得像爬行一样? (智能感知无罪?)

    我正在尝试使用 C 项目我在这里找到的编译时哈希技术 宏按预期工作 编译时间也合理 但 64 个递归宏似乎与 Visual Studio 的 Intellisense 玩得很不愉快 每次简短编辑后 IDE 都会挂起约 30 秒 我怀疑它正在
  • Android Chrome 浏览器中的通知 API

    我的网络应用程序使用通知API 我认为 KitKat 的 Chrome 浏览器应该有它 或者至少是旧的webkitNotifications 但两者window Notification and window webkitNotificat
  • 如何在 WinForms 中显示显示轨迹栏值的工具提示

    我是 C 和 WinForms 的新手 所以请原谅 这是一个新手问题 我正在尝试向 TrackBar 控件添加一个工具提示 该提示在您拖动该栏时显示该栏的当前值 我已经实例化了一个 ToolTip 对象并尝试了以下处理程序代码 但它没有显示
  • Spring 数据 JPA。子实体的分页

    我将 Spring Data JPA 与 Spring boot 版本 1 3 6 RELEASE 和内存数据库一起使用 我想知道如何对子实体进行分页来自父实体 将获取设置为LAZY对我来说不是一个解决方案 这是用例 Parent has
  • 格式化字符串未使用的命名参数[重复]

    这个问题在这里已经有答案了 假设我有 action bond james bond format bond bond james james 这将输出 bond james bond 接下来我们有 action bond james bon
  • UDP 数据包大小和数据包丢失

    我一直在编写一个程序 该程序在 UDP 之上使用停止和等待协议来通过 LAN 和 WAN 发送数据包 我最近测试了我的程序 发现数据包越大 接近 64k 字节 丢包率越高 直观上这是有道理的 但实际原因是什么 UDP 数据包大于MTU si
  • GraphQL Blackbox /“任何”类型?

    是否可以指定 GraphQL 中的字段应该是黑盒 类似于 Flow 具有 任意 类型 我的模式中有一个字段应该能够接受任何任意值 可以是字符串 布尔值 对象 数组等 我想出了一个中间立场的解决方案 我没有尝试将这种复杂性推到 GraphQL
  • 从图库中选择图像不适用于 Redmi Note 4

    我在 S O 上看到了几个与此相关的其他问题 但与我的问题最接近的一个似乎没有得到很多回复 小米设备无法从图库中选取图像 希望这个问题能有更好的运气 我正在尝试从手机图库中选择图像 并将图像路径传递到另一个活动 以便用户预览该图像 我已经在
  • 使用 PySpark 时如何将 jdbc 驱动程序添加到类路径?

    如何 在哪里安装 Spark sql 的 jdbc 驱动程序 我正在运行全火花笔记本docker 镜像 并尝试将一些数据直接从 sql 数据库提取到 Spark 中 据我所知 我可以告诉我需要将驱动程序包含在我的Classpath 我只是不
  • 谷歌浏览器和铬中不支持不连续选择错误

    我正在开发一个书签应用程序 我必须在其中存储用户选择的关键字 单词或内容 我使用 createRange 和 addRange javascript 方法来创建范围 然后找出用户选择的元素 内容 我为此编写的代码如下