Nuxt/Vue 在 Safari 中打印
Nuxt/Vue Printing in Safari
在函数中调用 window.print()
无法调出 Safari 原生打印 window。然而,这在 Chrome.
中有效
我试过:
- 尝试跟随 this link 会导致点击按钮时没有任何反应。有什么特殊的方法我需要将它附加到 Nuxt/Vue 中的按钮吗?
- 偶尔使用
document.execCommand('print', false, null)
可行,但 90% 的时间会在打印对话框中显示 100 多页的文档,但没有任何内容。
macOS 12.3,
野生动物园 15.4,
Nuxt 2.15.7
这里似乎有两个问题:
- 在 Nuxt 中调用
window.print()
不会显示 Safari 打印 window。
- Safari 仅在第一次显示正确的打印 window,然后只是一堆空白页。不过,这似乎并不局限于 Nuxt (example).
至于第一个问题,我发现 bug report 活动 EventSource
阻止 Safari 显示打印 window。所以我想嗯,也许 Nuxt 开发服务器以某种方式使用它来与客户端通信。因此,我在生产模式 (nuxt build && nuxt start
) 中尝试 运行 我的应用程序,瞧,这让我的 Safari 打印 window 按预期显示。
在函数中调用 window.print()
无法调出 Safari 原生打印 window。然而,这在 Chrome.
我试过:
- 尝试跟随 this link 会导致点击按钮时没有任何反应。有什么特殊的方法我需要将它附加到 Nuxt/Vue 中的按钮吗?
- 偶尔使用
document.execCommand('print', false, null)
可行,但 90% 的时间会在打印对话框中显示 100 多页的文档,但没有任何内容。
macOS 12.3, 野生动物园 15.4, Nuxt 2.15.7
这里似乎有两个问题:
- 在 Nuxt 中调用
window.print()
不会显示 Safari 打印 window。 - Safari 仅在第一次显示正确的打印 window,然后只是一堆空白页。不过,这似乎并不局限于 Nuxt (example).
至于第一个问题,我发现 bug report 活动 EventSource
阻止 Safari 显示打印 window。所以我想嗯,也许 Nuxt 开发服务器以某种方式使用它来与客户端通信。因此,我在生产模式 (nuxt build && nuxt start
) 中尝试 运行 我的应用程序,瞧,这让我的 Safari 打印 window 按预期显示。