问题标签 [getselection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3555 浏览

javascript - 如何支持跨浏览器的多个文本选择?

我正在构建一个基于 Web 的注释工具,最终用户可以在其中从 HTML 文档中选择和注释一段文本。从编程上讲,使用“window.getSelection”和“getRangeAt”可以直接访问和使用选定的文本和相应的范围。

但是,当我尝试将所有这些放在一个跨浏览器应用程序中时,我遇到了一个问题。在 Firefox 中一切正常,但在 Safari 中,我立即注意到,当我单击 HTML 按钮(即“注释”按钮)时,当前用户文本选择消失,好像单击按钮重新定位了文本插入符号。我尝试访问 window.getSelection 的代码从该按钮中的脚本执行,然后报告不存在任何选择。

我深入研究了谷歌文档,特别是他们的文字处理应用程序是如何处理这个问题的,因为本质上选择文本和单击“粗体”或“更改字体”的行为和机制对应于我的注释功能。在 Google Docs 中,他们将要编辑的文档文本加载到 iframe 中。通过玩这个,我了解到 Firefox 开箱即用支持在包含多个框架或 iframe 的网页中进行多个选择范围。换句话说,我可以在基本页面中选择一段文本,并在 iframe 中选择一段单独的文本,而第一个选择不会消失。这个 Google Docs 解决方案适用于 Firefox 和 Safari(我感兴趣的两种浏览器)。但是当我构建一个简单的示例页面来测试这个解决方案时,它在 Safari 中不起作用。

任何人都知道我在这里缺少什么才能使其正常工作吗?或者有另一种方法来让它工作的建议?

0 投票
2 回答
1371 浏览

javascript - 从另一个框架中获取选定的文本

我有一个框架集,我希望有人能够单击一个框架中的一个按钮,该按钮对另一个框架中选择的文本执行某些操作。中的按钮frame[0]调用以下 JavaScript 以从中获取所选文本frame[1]

我认为,问题在于单击按钮的行为会frame[0]取消选择 中的文本frame[1],因此getSelection返回一个空字符串。我能做些什么呢?

0 投票
2 回答
1529 浏览

javascript - 在外部域上使用 Javascript 访问 iframe

我正在寻找一种方法来访问 IFRAME 上页面的只读属性。具体来说,我想阅读选择。显然我无法阅读它,因为该文档位于另一个域中。

有没有办法阅读它们?

0 投票
12 回答
52932 浏览

javascript - 设置光标/插入符号位置的最佳方法是什么?

如果我将内容插入到 TinyMCE 选择的文本区域中,那么设置光标/插入符号位置的最佳方法是什么?

tinyMCE.execCommand("mceInsertRawHTML", false, content);用来插入内容,我想将光标位置设置到内容的末尾。

两者document.selectionmyField.selectionStart不起作用,我觉得这将得到 TinyMCE 的支持(通过我在他们的论坛上找不到的东西),或者这将是一个非常丑陋的黑客。

后来:它变得更好;我刚刚发现,当您在 WordPress 中加载 TinyMCE 时,它会将整个编辑器加载到嵌入式 iframe 中。

稍后(2):我可以使用document.getElementById('content_ifr').contentDocument.getSelection();将选择作为字符串获取,但不能用于我可以使用的选择对象getRangeAt(0)。一点一点的进步。

0 投票
1 回答
906 浏览

html - xul-获取选择html

我有以下功能应该为网页上的用户选择区域获取 HTML。此功能似乎无法正常工作。

有时,它也会获得未选择的 html。

任何人都可以看看这个功能吗? - 非常感谢。

//----------------------------获取选定的HTML----------------- --------

函数 getSelectionHTML(){

}

0 投票
1 回答
2678 浏览

javascript - getSelection() 和 insertNode -- Javascript 文本选择

有谁知道如何将浏览器选择设置为新/独立创建的范围?我了解如何从浏览器获取文本选择,也了解如何创建范围,但我不知道如何告诉浏览器将选择更改为我创建的范围。我原以为它会类似于“setSelection”。

需要明确的是,我并不是要选择 textarea - 我说的是 p / div / ul 标签等。

我引用了以下网站(也许它会给你一个想法?):

http://www.quirksmode.org/dom/range_intro.html

在此先感谢您的时间。

0 投票
1 回答
946 浏览

iphone - iPhone 小书签的 getSelection()

我做了一些研究,但似乎无法找到关于通过 iPhone 小书签中的 getSelection() 获取当前选定文本的明确答案。这还有可能吗?似乎从各种搜索中可以找到许多使用类似行为的书签,但似乎没有一个对我有用。

我只是在我的 iPhone 上选择一些文本,等待可拖动框出现(以及复制按钮),然后点击 MobileSafari 中的书签图标并选择我选择的小书签。

要获取当前选定的文本,我正在执行以下操作:

encodeURIComponent( window.getSelection ? window.getSelection()+'' : (document.getSelection) ? document.getSelection()+'' : (document.selection ? document.selection.createRange().text+'' : 0) )

有人对这个有经验么?

0 投票
5 回答
1501 浏览

javascript - 在javascript中找到两个DOM节点的第一个公共父节点的最佳方法是什么?

我的问题正是如此,但在上下文中我想检查选择对象,比较 anchorNode 和 focusNode,如果它们不同,则找到第一个公共父元素。

0 投票
1 回答
1191 浏览

jquery - 双击或手动选择的getSelection()不一样

我允许我问一个问题,因为我对返回选择的父项的函数有一点问题。

例如这句话:“猫是<strong>灰色</strong>的”。

如果我手动选择“灰色”一词并单击我的按钮,该函数将返回我[object HTMLSpanElement]

但是,如果我通过双击选择相同的单词,该函数将返回我[object HTMLParagraphElement]

你知道为什么吗 ?

非常感谢。

0 投票
2 回答
9536 浏览

javascript - 跨多个标签的 getSelection 和环绕内容

我有一个脚本可以更改已选择文本的背景颜色。但是,当跨多个元素/标签选择文本时,我遇到了问题。

我得到的代码是:

输出的错误是:

我相信这与 getRange() 函数有关,尽管我不太确定如何进行,因为我是 javascript 的初学者。

有没有其他方法可以复制我想要实现的目标?

非常感谢。