firefox - Web 组件不适用于 Firefox 扩展
问题描述
总的来说,我想要实现的是将自定义元素注入到 dom 中。我看到它被注入,但我收到一条TypeError: this.functionName is not a function
消息。
我已经定义了与此类似的组件:
class Foo extends HTMLElement{
constructor() {
super();
}
connectedCallback() {
this.doSomething();
}
doSomething() {
//does something.
}
}
当它调用时,doSomething()
我收到了函数未定义错误。我尝试重命名该函数,定义其他函数并尝试调用它们,但没有任何效果。
我的清单定义类似于:
{"content_scripts"[{
"js":["custom-elements.min.js", "MyWebComponent.js"],
"run_at": "document_start"}]}
我也尝试过 polyfill webcomponents-bundle.js
,但收到一条TypeError: Bh is null
消息,并决定不跳下那个兔子洞,因为代码被混淆了。
我应该注意到,该扩展在 Chrome 和 Safari 甚至 Edge 中都能正常工作。
编辑:这可能不是很明显,但我正在使用自定义元素 v1 填充https://github.com/webcomponents/custom-elements。
编辑:在与 Firefox 插件 Slack 频道中的某个人交谈后,我了解到这是一个已知问题,其中功能只是“丢失”。此外,对 dom 中的属性的访问也有限,这可能是由于浏览器扩展的内置安全限制。我的工作只是用来document.createElement('my-element-name')
创建我的自定义元素,然后再附加属性。
解决方案
推荐阅读
- reactjs - 在自定义编辑组件中反应材料表formik验证
- kotlin - 创建 Exception 的实例并修改其消息
- django - 在 ListView 中使用复选框
- reactjs - Apollo Client - fetchMore 组件更新问题
- postgresql - Docker + Kong:[PostgreSQL 错误] 无法检索 PostgreSQL server_version_num:连接被拒绝
- java - 当方法不返回选项时如何处理空值?
- python - 强制 conda 更新包而不降级其他包,忽略任何可能的不良副作用
- php - 无法通过我的流明后端访问 Javascript Web 令牌
- python - 在 Pandas 表中总结循环结果
- amazon-web-services - 具有 Lambda 集成的 Terraform API 网关