【发布时间】:2020-06-04 18:54:42
【问题描述】:
有趣的是,Blazor 表单的某些输入元素没有将数据存储在 HTML 中作为输入字段的值(属性)。字段甚至没有值属性!
当我在 chrome 中检查和使用 “存储为全局对象” 功能并在控制台 (temp1.value) 中检查元素的值时,我可以看到该值。
我想知道这个值在浏览器中的存储位置。
【问题讨论】:
-
@schroeder 感谢您的迁移。我刚刚注意到 Stackoverflow 有一个 blazor 的标签。
-
这些值不存储在浏览器中。 Blazor Forms 的输入元素 是使用 C$ 编写的类组件,并且具有诸如值和存储和检索值的支持字段之类的属性。 Blazor 是否临时使用本地存储可能是可能的,但我从来没有为此烦恼过。
-
@enet,如果我理解正确,您的意思是说数据存储在 wasm 中(C# 最终编译成 web-asm)。但是 html 渲染器不会直接访问 wasm 数据(错误请更正)。那么,要显示数据,它必须存在于 html 中,对吗?实际上,我的兴趣在于这种机制是否可以防止 XSS?
-
你的 C£ 代码不符合 WebAssembly。只有 mono 运行时符合 WebAssembly,您的 C£ 代码符合 .Net Assemblies。你的问题很有趣..我从来没有打扰自己询问数据的确切存储位置。我可以推测,但不能提出任何有根据的答案。关于 XSS ,您应该将 Blazor 应用程序视为使用 JavaScript,因为 wasm 应用程序使用 JavaScript 使用的相同 UI 线程,并受到相同限制的约束
标签: javascript blazor