【问题标题】:Blazor browser-side opens print menuBlazor 浏览器端打开打印菜单
【发布时间】:2021-01-31 13:17:33
【问题描述】:

我通过 websocket 从 .NET Core app 向 Blazor 客户端发送数据,之后通过 interop ,数据进入我的组件。 我不明白为什么当我尝试Server-Side 时它工作正常,应用程序具有所需的行为,而当将项目更改为Browser 时,我得到一个Print Menu 弹出窗口,如下所示。 (我有一些#define 可以在Server-HostedBrowser 之间轻松选择) Blazor 怎么会弹出这个?

当我在打印菜单上按取消时,我在浏览器中收到以下错误:

blazor.webassembly.js:1 WASM: * 断言在 /mnt/jenkins/workspace/test-mono-mainline-wasm/label/ubuntu-1804-amd64/mono/mini/wasm_m2n_invoke.g.h:547, 不满足条件“0” blazor.webassembly.js:1 未捕获 (承诺)中止()。使用 -s ASSERTIONS=1 构建以获取更多信息。

blazor 如何打开打印菜单?

【问题讨论】:

  • 你在使用Math.Round吗? Math.Round opens the browser print dialog #290????
  • 不,我不是,但是我正在设置二维数组的大小。似乎此时打印弹出窗口打开了。
  • 我想你应该隔离问题并在 github 上打开一个问题。

标签: printing blazor


【解决方案1】:

我不明白为什么当我尝试服务器端时它工作正常, 应用程序具有所需的行为,而将项目更改为 浏览器我会弹出一个打印菜单,如下所示。

客户端 Blazor 不支持 Websocket。它们仅在服务器上受支持...也许这就是您的客户端 Blazor 行为不端的原因。

【讨论】:

  • 好吧,我设法将数据从js 中的套接字传递到[JSInvokeable] 静态方法,然后我从那里触发我的组件订阅的事件(带有数据)。在事件中我的组件的处理程序行为不端,不在 js 中,不在静态 jsinvokeable 方法中。
  • 抱歉,没有看到你的代码不能说是什么问题。您是否尝试验证它是否与@dani herrera 在他的评论中提到的内容有关?
  • WebAssembly 的 WebSockets 没有任何问题。见github.com/Lupusa87/BlazorWebSocketHelper(有点过时,但仍然)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 2010-11-22
  • 2010-11-20
  • 2012-03-17
  • 2019-04-12
  • 1970-01-01
相关资源
最近更新 更多