Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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 使用IE中的设计模式将内容粘贴到iframe中_Javascript_Internet Explorer_Iframe_Contenteditable_Copy Paste - Fatal编程技术网

Javascript 使用IE中的设计模式将内容粘贴到iframe中

Javascript 使用IE中的设计模式将内容粘贴到iframe中,javascript,internet-explorer,iframe,contenteditable,copy-paste,Javascript,Internet Explorer,Iframe,Contenteditable,Copy Paste,我们已经发现Internet Explorer 9和10中的可编辑iFrame存在问题,它也可能出现在其他版本中,但到目前为止还无法确认 如果在designMode设置为on的情况下创建一个简单的iframe,请键入几个单词,然后在本例中粘贴一些复杂的内容,直接从Outlook中粘贴包含签名的电子邮件,或从MS Word中粘贴格式化的文档,然后修改原始内容,键入的字符将变为不可见,直到按下空格或iframe失去焦点 更奇怪的是,如果用户在粘贴内容之前按return键,那么问题就不会发生。此外,在

我们已经发现Internet Explorer 9和10中的可编辑iFrame存在问题,它也可能出现在其他版本中,但到目前为止还无法确认

如果在designMode设置为on的情况下创建一个简单的iframe,请键入几个单词,然后在本例中粘贴一些复杂的内容,直接从Outlook中粘贴包含签名的电子邮件,或从MS Word中粘贴格式化的文档,然后修改原始内容,键入的字符将变为不可见,直到按下空格或iframe失去焦点

更奇怪的是,如果用户在粘贴内容之前按return键,那么问题就不会发生。此外,在内容可编辑DIV中执行相同的步骤不会导致相同的问题,但是,将可编辑DIV放在不可编辑的iframe中会导致问题,因此iframe显然是问题所在

Google Chrome或Mozilla Firefox中不会出现此问题,唯一的解决办法似乎是确保初始内容和粘贴内容之间存在换行符

我还注意到,通过确保iframe滚动,可以非常轻松地复制该行为。将复制以下代码:

<iframe id="theframe" style="height:50px;"></iframe>
<script>
    $(function() {
        var iframe = document.getElementById('theframe');
        iframe.contentDocument.designMode = 'on';
    });
</script>
我还设置了一个小提琴,可以可靠地复制问题

在小提琴中,若您键入“这是一个测试”,然后键入空格,然后从Word中粘贴至少两行,然后返回到“这是一个测试行”的末尾并尝试键入,则文本将不可见


非常感谢您的帮助,

我的浏览器正好是IE11,我遵循了您提到的所有步骤。我没有遇到过这样的问题:hi@RomanCanlas,我目前没有访问IE11的权限,但我到家后会访问IE11,所以如果我在11中复制或没有复制,我会尝试并在这里更新。@RomanCanlas我刚到家,在IE11中测试过,可以确认它似乎没有发生。所以看起来它可能是9和10中的一个bug,我将看看是否可以在7和8中测试它。