是否可以在不违反 `script-src-attr: 'none'` 的情况下使用 hyperHTML inline-style 事件处理程序
Can one use an hyperHTML inline-style event handler without violating `script-src-attr: 'none'`
使用 hyperHTML 创建如下内容:
this.html`
<input
name="mode"
type="radio"
onclick=${this.handleClick}
/>
`;
...我在 Chrome 中收到此错误(与我从 helmet
启用的严格 header 策略相反):
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src-attr 'none'". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. Note that hashes do not apply to event handlers, style attributes and javascript: navigations unless the 'unsafe-hashes' keyword is present.
在内置源代码中,我看到它显示为 onclick="function"
。有什么方法可以让 hyperHTML 避免在仍然使用内联语法的同时生成它?
我意识到我愚蠢地没有使用其中一种 hyperHTML-Element
方法,所以我只是在构建一个字符串。
看来我可以使用 HyperHTMLElement.wire()
(在 hyperHTML-Element 和 hyperHTML 中可用,尽管那里没有记录)或者只使用别名 HyperHTMLElement.hyper
.
使用 hyperHTML 创建如下内容:
this.html`
<input
name="mode"
type="radio"
onclick=${this.handleClick}
/>
`;
...我在 Chrome 中收到此错误(与我从 helmet
启用的严格 header 策略相反):
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src-attr 'none'". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. Note that hashes do not apply to event handlers, style attributes and javascript: navigations unless the 'unsafe-hashes' keyword is present.
在内置源代码中,我看到它显示为 onclick="function"
。有什么方法可以让 hyperHTML 避免在仍然使用内联语法的同时生成它?
我意识到我愚蠢地没有使用其中一种 hyperHTML-Element
方法,所以我只是在构建一个字符串。
看来我可以使用 HyperHTMLElement.wire()
(在 hyperHTML-Element 和 hyperHTML 中可用,尽管那里没有记录)或者只使用别名 HyperHTMLElement.hyper
.