我想以编程方式选择页面上的所有文本,其结果与我按下组合键Ctrl + A的结果完全相同.
使用的问题document.getSelection().selectAllChildren(body)是选择还将包括用户无法选择的文本节点,即CSS中定义的<script> </script>节点user-select:none:
<div style="-moz-user-select:none">将被选中</div>
modify选择对象的方法可以像这样使用:
selection.modify("extend", "forward", "documentboundary");
将选择从文档的开头扩展到结尾,这将忽略任何脚本或样式元素的内容和元素-moz-user-select:none- 遗憾的是Firefox不允许documentboundary作为3.参数和word无济于事.
有没有快速的方法来实现这一目标?只需要在Firefox中工作.
编辑(不太好解决方案):选择第一个文本节点,然后selection.modify('extend', 'forward', 'line')重复使用,selection.focusNode而不等于最后一个文本节点 - 但根据文档的长度,这需要几秒钟!
编辑: selection.selectAllChildren将在Chrome中按预期工作,其中user-select:none不会选择文本元素- 不幸的是,在FF中有不同的行为.
编辑:这不是这篇文章的重复,因为我既不解决contenteditable元素也不关心它们;)
我实际上正在使用Add-on Builder开发一个附加组件,但现在我想更改为SDK,因为有更多的可能性.
我已经像这样安装了sdk和Python:C:\ Users\bla\Add-ons\addon-sdk-1.8.1
(在addon-sdk-1.8.1里面我添加了tar Python-2.6.8)
现在在cmd我键入:
cd C:\Users\bla\Add-ons\addon-sdk-1.8.1
mkdir my-addon
cd my-addon
cfx init
Run Code Online (Sandbox Code Playgroud)
这很好 - >文件夹my-addon已经创建了整个目录.
然后我删除了文件夹my-addon并再次尝试了相同的命令并获得:
'cfx' is not recognized as internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
mddir my-addon创建了my-addon文件夹.但cfx init产生了错误.
这是我第一次使用cmd命令而且我不知道我现在要做什么