从父页面调用iframe中的javascript,IE问题
Invoking javascript in iframe from parent page, IE issue
这是这个问题的后续:从父页面调用iframe中的javascript
我已经实现了@Tomalak提供的答案。
这是一个jsFiddle
问题是,iframe
中的内容是动态创建的(因此没有跨域问题)。内容中有一个按钮,其onclick
事件处理程序调用window.print()
。这只打印iframe
的内容(这很好,可以作为概念验证)。
此外,父页面上还有一个按钮,用于调用iframe
发布的公共函数。函数是printContent
,与iframe
按钮的onclick
事件处理程序一样,它也调用window.print()
。
这就是问题所在,当使用IE 8从父页面上的按钮进行打印时,也会打印父页面的内容。(Chrome不会出现这种情况。)
是否存在使IE 8仅打印iframe
内容的修复程序?
有趣的是,通过公共函数返回window.document.title
确实返回了iframe
内容的title
,即使在使用IE 8时也是如此。
小提琴展示了这个问题,并提供了更多细节。
在IE中,您需要将焦点设置为要打印的窗口。当函数在父页中时,这会打印iframe:
function printContent(){
var el = document.getElementById('myFrame');
el.contentWindow.focus();
el.contentWindow.print();
return;
}
如果函数在iframe中,您可以从任何地方打印它:
function printContent(){
window.focus();
window.print();
return;
}
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 仅在IE中,javascript中的时区名称不正确
- JavaScript IE issues
- 可以't基于JavaScript IE识别激活事件
- 使用javascript(IE bug?)在文本区域插入新行
- Javascript IE Events, this
- Javascript IE Redirection Loop(带有一些PHP)
- JavaScript IE 从 json 文件中读取数据 访问被拒绝
- 从javascript IE中的字符串创建子数组
- Javascript ie 9搜索栏错误
- 比较javascript:IE 8异常中的日期
- javascript IE问题.仅在IE中不工作
- javascript: ie浏览器在表单提交/页面卸载之前没有发送ajax调用
- JavaScript IE 9:自定义排序函数
- Debug Javascript IE 9
- JavaScript: IE 11 and MS Edge override CTRL+P
- IE浏览器-Javascript-IE,Chrome,Firefox-如何包含外部.js文件
- JavaScript - IE 9 XML textContent
- internet explorer - Javascript/ IE日期时间错误
- 跨浏览器-JQuery/Javascript:IE悬停不't覆盖选择框选项