- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将自定义元素定义添加到我的 iFrame。
在主浏览器窗口中,定义工作得很好:
customElements.define("自定义标签", customTag)
然后,将定义移至 iFrame 后,我收到 DOMException:不支持操作
。该功能有但不支持。
iFrame.contentWindow.customElements.define("自定义标签", customTag);
这有什么特殊原因吗?定义自定义标签是否被设计阻止在 iFrame 中并且无法解决,或者我应该在 iFrame 配置中包含某些内容以允许这种“不安全”行为?
最佳答案
如果您想将主 HTML 文档中的自定义元素注入(inject) <iframe>
元素,您可以将其添加到 <script>
内元素。
例如,通过srcdoc
属性:
frame.srcdoc = `
<script>
class customTag extends HTMLElement {
constructor() {
super()
this.attachShadow( { mode: 'open' } )
.innerHTML = "Hello World"
}
}
customElements.define( 'custom-tag', customTag )
<\/script>
<custom-tag></custom-tag>
`
<iframe id=frame></iframe>
注意转义字符\
进入结局</script>
标签。
关于javascript - 在 iFrame 中定义 customElements 会抛出 "DOMException: Operation not supported"。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53612842/
我正在使用 @ Angular @9.0.7 , @ngneat/spectator@5.3.1 (与 开玩笑 ), Inputmask@5.0.3 在一个项目中,当我运行 ng serve 时,一切
看来我必须在解析 HTML 正文后才定义自定义元素。如果我之前定义了它,则自定义元素的内容为空。 这是一个 MWE: customElements.define('test-one
我正在开发一个自定义 HTML 类,它可以用作一种附加类型的表单,支持与 [name] 和 [value] 匹配的任何元素属性。 但是,当扩展一个类时,我发现我无法让伪选择:invalid 工作。 c
我正在尝试使用 Svelte 构建前端应用程序。我有许多组件应编译为自定义元素,以便我可以动态插入它们,即通过执行以下操作: let my_html_string = 'Hello from
当注册 customElements 并通过其中包含 customElements 的 DOMParser 解析 html 时,它们不会被构造,它们只有在附加到主文档中时才会被构造。 因此我无法检查它
我正在使用这个polyfill在 JavaScript 中实现自定义元素。然而,self 变量在我的方法中引用 Window,除非我首先调用 const self = this。 任何人都可以解释一下
我有一个与表单关联的 customElement,它管理自己的有效性和验证消息。它作为表单成员按预期工作;调用 form.reportValidity() 会将适当的错误消息放置在适当的 anchor
我和我的 friend 正在尝试制作一个 JavaScript 框架,允许用户制作元素并自定义它们。以及以某种方式管理它们。 我们希望能够以某种方式制作这样的自定义元素 class Header ex
我需要在 JavaScript 中为 Firefox 创建自定义 HTML 标记。我不能使用 customElement.define(),因为它不是 Firefox 中可用的默认类。 我正在尝试使用
虽然这似乎是一个重复的问题,但之前提出的那些问题都是基于 Polymer,而不是原生的 CustomElements,而且这是关于 css 本身,而不是渗透 ShadowDOM 或自定义 CSS 属性
我想在本地使用一些网络组件进行开发,尽管互操作性不是很好。因此,我在我的 ubuntu 操作系统的 chrome://flags 选项卡下启用了 google-chrome-stable 版本 50.
这可能是 Svelte.js 的工作方式,但我很好奇我是否做错了什么,或者是否有解决方法。 如果我设置编译器选项 customElement: true ,传递给组件的属性在 中不可用该组件内的标记
我正在使用 Aurelia 的 1.0.0-beta.1 并尝试编写一些单元测试。 我有一个像这样的自定义元素: ... @inject(BindingEngine, Class1, Class2)
我知道 Aurelia 允许我们返回 Promise()来自 VM 的 activate()方法,如果是这样,它会在切换到新 View 之前等待 promise 解决。 但是,假设我有一个由一个或多个
我正在尝试使用 typescript 和 mocha 进行一些非常基本的 webcoponnets 测试。我正在使用 jsdom 来模拟全局的基本文档,所以我有 --require jsdom-glo
自定义元素可以异步初始化,例如在延迟加载其定义类之后。 让我们看一下这个例子,我们在 DOM 中有一个尚未初始化的元素: 在初始化之前,我们设置该元素的 value 属性: querySelecto
摆弄 ScalaJS,我试图实现以下目标,即。创建自定义 Web 组件框架: class DocumentPreview extends HTMLElement { static get obse
我在获取 this WebComponents polyfill + native-shim 时遇到一些问题通过 webpack 可以在所有设备上正常工作。 我的设置的一些背景:* Webpack2
CanIuse表示 webcomponents v1 在 Firefox v. 61 中启用了 about:config 属性 dom.webcomponents.customelements.ena
我一直在阅读一些关于网络组件的教程(原生的,没有聚合物)。我已经看到了两种注册组件的方法,但我对使用什么感到有点困惑。对于第二个,我实际上在 vscode 中收到一个 typescript 错误:[t
我是一名优秀的程序员,十分优秀!