gpt4 book ai didi

Javascript window.print() 无法识别窗口对象

转载 作者:搜寻专家 更新时间:2023-11-01 04:50:41 24 4
gpt4 key购买 nike

我试图提供一个按钮来在窗口上打开浏览器级别的打印对话框。我首先尝试了 window.print();在 <input> 上使用内联“onclick”然后使用 jQuery 在输入上使用 click() 函数,单击时都给出相同的错误:

TypeError: Property 'print' of object [object global] is not a function

我应该指出这是一个弹出窗口,但我认为这无关紧要,除非在父页面上以任何形式使用 window.print() 都可以正常工作。

似乎某处的 window 对象一定发生了什么,所以我在控制台中执行了以下操作:

窗口名称

“加入”

window.self

Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}

窗口位置

Location {assign: function, replace: function, reload: function, ancestorOrigins: DOMStringList, origin: "http://local.xxx.xxx:8080"…}

所以它看起来像窗口对象在那里并且按预期定义。

我什至可以在同一个窗口对象上运行其他方法,如 close()、confirm()、alert()、scrollTo() 等,它们工作正常。那为什么不用 print() 呢?

页面的内容似乎并不重要,我还要说我们没有使用 iFrame 或框架。我确实用

替换了弹出窗口的所有内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head></head>
<body>Foo</body>
</html>

同样的结果。所以我相当确定我们的其他代码都没有干扰。

编辑

我用来触发 print() 的代码:

$('.foobar').click(function(){
window.print();
});

现在我只是在控制台中进行操作。

按钮

<input type="button" class="foobar" value="Print" />

最佳答案

如果您有一个 id 为 print 的元素,就会发生这种情况。

元素 ID 成为 window(全局对象)的属性,隐藏所有同名的现有成员

关于Javascript window.print() 无法识别窗口对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com