Javascript window.open 返回未定义

标签 javascript ruby-on-rails printing ruby-on-rails-3.2

我有一个 Rails 3.2 站点,正在使用突然停止工作的 javascript 打印例程。这是我的打印例程代码:

function print() {
    var mywin = window.open('', '', '');
    mywin.document.write('<body><link href="/assets/application.css" media="all"    rel="stylesheet" type="text/css" />' + document.getElementsByClassName('fields')[0].innerHTML + '</body>');
    mywin.print();
    mywin.close();
    return false;
}

代码几个月来一直运行良好,但现在每当您尝试打印时,它只会打印两张空白页。它在第二行抛出错误,无法读取未定义的属性“文档”,检查显示 mywin 未定义。

谷歌搜索没有产生任何有值(value)的结果,所以有人知道为什么会这样吗?

最佳答案

我在非 Rails 环境中遇到了同样的问题。我正在使用节点的 http 服务器,在本地主机上工作。

问题在于 Chrome 会自动阻止来自本地主机的弹出窗口。我转到设置并添加“本地主机”作为异常(exception),现在一切正常!

希望对你有帮助

关于Javascript window.open 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002013/

相关文章:

javascript - 跨域获取 iframe javascript 内的 iframe 属性

ruby-on-rails - Zoho CRM api v2 每个模块的必填字段列表

ruby-on-rails - Rails 使用 send_data 或 send_file 将多个文件发送到浏览器

打印对话框后 Angular Flex 布局停止工作

javascript - 使用 JavaScript 将十六进制命令发送到打印机

python - 如何漂亮地打印 SqlAlChemy 的输出?

javascript - 当我尝试将新对象添加到状态数组时,它将所有现有对象更改为新对象

javascript - 在 ASP.NET 中调试 JavaScript

javascript - 如何在javascript中将背景设为幻灯片

ruby-on-rails - RSpec 在测试数据库中留下记录