Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何辨别突出显示的文本存在的位置_Javascript_Jquery_Iframe - Fatal编程技术网

Javascript 如何辨别突出显示的文本存在的位置

Javascript 如何辨别突出显示的文本存在的位置,javascript,jquery,iframe,Javascript,Jquery,Iframe,我有一个屏幕,它有一个外部框架,上面有一些文本,然后是一个iframe,它显示屏幕上有文本。我想创建一个自定义的“文件”菜单,其中包含剪切、复制、粘贴、打印等项。我知道您可以通过调用 document.execCommand("cut"); 如果我想在父帧中剪切一些内容。如果我想在iframe中剪切一些东西,我可以这样做 document.getElementById("myIframe").contentWindow.document.execCommand("cut"); 由于文件菜单将

我有一个屏幕,它有一个外部框架,上面有一些文本,然后是一个iframe,它显示屏幕上有文本。我想创建一个自定义的“文件”菜单,其中包含剪切、复制、粘贴、打印等项。我知道您可以通过调用

document.execCommand("cut");
如果我想在父帧中剪切一些内容。如果我想在iframe中剪切一些东西,我可以这样做

document.getElementById("myIframe").contentWindow.document.execCommand("cut");

由于文件菜单将位于父菜单中,因此我需要能够区分父框架和iframe中突出显示的文本,以便知道要执行哪些javascript代码。

如果您选择的是输入和文本区域之外的文本,则在firefox中,您有
document.getSelection()
()在IE<11中有
document.selection.createRange()
()

否则,您需要检查活动元素并从中获取选择(如果有)

其思想是,您可以在两个位置检查所选文本,并检查其中一个为空,然后在所选文本所在的位置执行命令

请参见以获取当前选择,您可以应用类似于父对象和iframe的内容,并检查哪一个包含某些选定文本


希望这有帮助

如果在父框架和iframe中都有高亮显示的文本怎么办?怎么可能呢?据我所知,当您将鼠标拖动到高亮显示文本时,一次只能在一个位置执行此操作。您可以同时在父级和iframe中选择文本。例子: