chrome是不是支持document.selection?
Posted
技术标签:
【中文标题】chrome是不是支持document.selection?【英文标题】:Does chrome supports document.selection?chrome是否支持document.selection? 【发布时间】:2011-10-23 15:28:26 【问题描述】:我是 javascript 新手,正在尝试执行:
document.selection.createRange();
但document.selection
总是返回undefined
。
我正在使用最新版本的 chrome。
我做错了什么?
谢谢!
【问题讨论】:
【参考方案1】:浏览器支持基于 IE11 和 Chrome 87.04280.141 的 selection
对象
Member | IE | Chrome |
---|---|---|
document.selection |
yes | no |
window.selection |
no | no |
document.getSelection() |
no | yes |
window.getSelection() |
no | yes |
这是最简单的部分。
当您尝试使用任何方法时,问题就来了,f.e. getRange()
存在于 document.selection
(兼容 IE),但不存在于 document.getSelection()
,因此对于 Chrome,您需要一种解决方法。
【讨论】:
mm... 好像 IE supportswindow
和 document
的 getSelection
方法 - 你确定浏览器支持表吗?【参考方案2】:
使用window.getSelection()
,它是跨浏览器兼容性最强的(所有主流浏览器的当前版本都支持),是the standard。 Chrome 肯定和其他浏览器一样完全支持它。
document.selection
只能用于 IE
【讨论】:
IE9 不喜欢它:SCRIPT438:对象不支持属性或方法'getSelection' @Misi:在这种情况下,您的 IE 9 必须处于其中一种兼容模式。在标准模式下,它绝对支持window.getSelection()
。 msdn.microsoft.com/en-us/library/ie/…
函数 markSelection ( txtObj ) if ( txtObj.createTextRange ) txtObj.caretPos = document.selection.createRange().duplicate(); isSelected =真; 如何将其更改为文档 .getselection()【参考方案3】:
试试document.getSelection()
或window.getSelection()
。
这是我在 chrome 中测试的一个简单示例
http://jsfiddle.net/hgDwx/
【讨论】:
我试过同时使用 window.getSelection 和 Document.getSelection 但函数 getRangeAt(index) 也不起作用。我已经完成了: var selObj = document.getSelection(); var selRange = selObj.getRangeAt(0);警报(选择范围);你说什么?谢谢 我的 rangeCount 值始终为零 @adi 我添加了一个在 chrome 中测试的示例 我假设 selection 只是使用 document.getSelection() 检索的对象的类,如下所示: var s = document.getSelection(); s.“以下链接中列出的任何属性或方法”; developer.mozilla.org/en-US/docs/Web/API/Selection【参考方案4】:请改用window.getSelection()
。
https://developer.mozilla.org/en/DOM/window.getSelection
【讨论】:
以上是关于chrome是不是支持document.selection?的主要内容,如果未能解决你的问题,请参考以下文章
Android/Chrome 是不是完全支持 background-clip CSS 属性?在 PC 和 Mac 上的 FF/Chrome 中运行良好
在 Chrome 扩展中使用 AJAX 请求检测 URL 是不是支持 HTTP2?
Yandex 浏览器是不是支持 google chrome 网上商店的付费扩展程序运行?