javascript - Firefox 中未定义 Window.getSelection - 区分大小写

标签 javascript firefox

我不知道这是否是 Firefox 特有的,但似乎“Window”在 Firefox javascript 中区分大小写。

alert(Window.getSelection);

即使您选择了某些内容,也会返回未定义

但是这有效:

alert(window.getSelection);

查看此Fiddle为了区别。

但正如您在上面看到的 - SO 语法突出显示突出显示了大写“Window”以及 MDN documentation再次建议您也应该使用大写版本。

我第一次发现这个问题是在尝试在书签中使用它时 - 书签也有同样的问题。如果您使用javascript:alert(Window.getSelection)创建书签,那么如果您突出显示某个单词然后单击该书签,它将返回未定义。

这是一个错误还是我做错了什么?

最佳答案

大写的Window是类型,该类型有Window.getWindow()等方法。

小写的窗口是实例。基本上浏览器正在这样做:

var window = Window.getWindow();

然后从 window 对象中,您可以执行 getSelection

在某些浏览器中,您可以通过原型(prototype)访问对象:

Window.prototype.getSelection

如果你深入研究documentation你可以看到他们实际上使用的是小写版本。我想说它在标题和您访问的页面上是大写的原因是因为他们试图表明它是来自 Window 对象的方法。

注意:每个浏览器都不同,因此您的浏览器可能会以不同的方式分配窗口对象,我使用 safari。

关于javascript - Firefox 中未定义 Window.getSelection - 区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34704577/

相关文章:

javascript - redux sagas 阻塞了浏览器

javascript - 在 Firefox 中对已更改的文件使用 FileReader.readAsArrayBuffer()

python - 如何在特定版本的 Firefox(使用 Python)中运行 webdriver 测试?

javascript - jQuery size() 并查找是否应用了类

javascript - 在 Firefox 中禁用鼠标中键单击和拖动功能

JavaScript innerHTML 导致 css 在 <button> 上消失

javascript - 如何更改Firefox Javascript引擎规则?错误处理

JavaScript 每 15 分钟计算一个值并在午夜重置它

javascript - ng-animate 不适用于 animate.css

Javascript正则表达式匹配$,但不匹配${