javascript - 可以在不违反`script-src-attr: 'none' 的情况下使用超HTML 内联式事件处理程序吗?
问题描述
在使用 hyperHTML 创建类似:
this.html`
<input
name="mode"
type="radio"
onclick=${this.handleClick}
/>
`;
...我在 Chrome 中收到此错误(违反我启用的严格标头策略helmet
):
拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src-attr 'none'”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-...”)或随机数(“nonce-...”)。请注意,哈希不适用于事件处理程序、样式属性和 javascript: 导航,除非存在 'unsafe-hashes' 关键字。
在构建的源代码中,我看到它以onclick="function"
. 有什么方法可以让 hyperHTML 在仍然使用内联语法的同时避免生成它?
解决方案
我意识到我愚蠢地没有使用其中一种hyperHTML-Element
方法,所以我只是在构建一个字符串。
看来我可以使用HyperHTMLElement.wire()
(尽管没有在那里记录,但在 hyperHTML-Element 和 hyperHTML 中都可以使用)或者只使用 alias HyperHTMLElement.hyper
。
推荐阅读
- sql - 使用 CREATE TABLE 在 SQLite 中创建表时出错
作为选择 - cdi - 使用 Mojarra 2.2.x 和 openwebbeans 1.0 (CDI 1.0) 使用 viewscoped bean 导航期间的 NPE
- r - 在 R Shiny 中模仿 VBA 输入 ListControl
- r - 创建多部分栅格的矢量足迹 [R]
- matlab - 为什么我会从随机神经网络中获得可预测的输出?
- reactjs - 我应该使用 React 提供多少静态 HTML?
- python - 如何在pygame中替换图片并检查与新图像和运动图像的碰撞
- javascript - 有没有办法在 R / DT 中默认隐藏组条目并显示聚合行
- php - 在 SentryServiceProvider.php 中调用未定义的方法 Illuminate\Foundation\Application::share()
- python - 添加 XML 元素并保存文件?