Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 获取窗口中第一个可见的iFrame并打印它_Javascript_Jquery_Iframe_Telerik_Radwindow - Fatal编程技术网

Javascript 获取窗口中第一个可见的iFrame并打印它

Javascript 获取窗口中第一个可见的iFrame并打印它,javascript,jquery,iframe,telerik,radwindow,Javascript,Jquery,Iframe,Telerik,Radwindow,有点荒谬的情况。。。这实际上只适用于IE8及更低版本 无论如何,我有一个iFrame出现(我无法控制/创建ID),感谢Telerik // The only way I can grab it specifically would be: var iframe = document.frames ? document.frames[id] : document.getElementById(id); //

有点荒谬的情况。。。这实际上只适用于IE8及更低版本

无论如何,我有一个iFrame出现(我无法控制/创建ID),感谢Telerik

// The only way I can grab it specifically would be:
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
                                             // ^ you grab by ID in IE
var ifWin = iframe.contentWindow || iframe;
但是因为我没有身份证,我不能用这个方法。。。 我尝试过几种不同的方法,但没有成功

// tried either window. / or document.
document.frames.print();
window.frames.print();
document.frames[0].print();
我基本上只想抓取第一个iFrame->并打印它

旁注
window.print()
适用于除IE8和更低版本之外的所有产品。对于IE,它只打印外部/父窗口内容,而不是当前关注的iFrame

有什么想法吗


更新:因此,在IE控制台中执行
window.frames[2].print()
可以工作(并获取正确的框架)。当我尝试将此代码放入Javascript时,我得到了完全相同的东西:
window.frames[2].print()
,即将此代码解释为点符号
window.frames.2
,不起作用,返回为null或不是对象。在控制台中键入相同的点符号不起作用,只会给我“Expected;”(这没有意义)。

javascript中的大多数旧集合都有一个名为
项的方法*,请尝试以下方法:

window.frames.item(2).print();
(*)不必奇怪,
类型的window.frames.item
将是
'object'

您尝试过吗

document.getElementsByTagName('iframe')[0]
我在IE8控制台上对此进行了测试,它可以工作(但在您的更新中可能仍然存在问题)


至于你关于打印第一个可见iframe的问题的另一部分,你可能想看看scrollX和scrollY以及offsetTop和offsetLeft,不?

注意,这在IE中有效,但在2018年不适用于Chrome。你必须用括号来表示Chrome。