我很清楚,可以通过在配置中将dom.webcomponents.enabled
和dom.webcomponents.customelements.enabled
设置为true来手动启用自定义元素功能(至少在Firefox中) ,但任何人都可以帮助我解释为什么几乎所有文档(w3,mozilla等)都鼓励使用自定义元素,但只有 Chrome 似乎才能正确支持此功能。
最近我一直在使用此polyfill让customElements在其他浏览器上运行:
defineElement = function( tag, opt ){
if( typeof customElements !== 'undefined' ){
customElements.define( tag, opt );
} else {
document.registerElement( tag, opt );
}
}
class HTMLxSearchElement extends HTMLElement{
constructor(){
super();
console.log('super');
}
}
defineElement( 'x-search', HTMLxSearchElement )
但是现在document.registerElement
功能也被删除了!有没有人有任何替代方法可以恢复并运行此功能?
答案 0 :(得分:1)
现在只需使用polyfill https://github.com/WebReflection/document-register-element。它与Custom Element v1对齐。它与IE10 +和所有其他浏览器一起正常工作。 有关更多和最新信息,请参阅https://developers.google.com/web/fundamentals/web-components/
答案 1 :(得分:0)
在某些文档中使用自定义元素v1 鼓励,因为它是HTML/Javascript WHATWG standard。
现在它在Chrome浏览器中implemented,但也是Opera和Safari。
if(strtotime($endDateA) > strtotime(trim($startDateB))
and strtotime($startDateA) < strtotime(trim($endDateB)))
使用Firefox 59+不再有效,因为自定义元素v0实现was deprecated。
答案 2 :(得分:0)
在我使用Angular Elements创建的Web组件的情况下,我在Edge浏览器中遇到了customElements未定义错误,该解决方案将运行:
public interface CandidateRefRepository extends CrudRepository<CandRef, CandRefKey> {
List<CandRef> findByCandIdOrderByInstNoDesc(Integer candId);
List<CandRef> findAllByCandIdAndStatCd(Integer candId, String statCd);
@Query(value = CandidateRefConstants.CURRENT_INSTANCE_WITH_EXCEPTION)
List<CandRef> fetchCurrentInstance();
@Query(value = CandidateRefConstants.CURRENT_MAX_SEQUENCE_BY_CANDID)
CandRef fetchCurrentMaxSequence(@Param("candId") Integer candId);
@Query(value = CandidateRefConstants.CURRENT_INSTANCE_BY_STATCD)
List<CandRef> fetchCurrentInstanceBycandId(@Param("candId") Integer candId);
}
在我的Angular Elements项目的polyfills.ts文件中,我添加了:
delete
from
ref_grp_mber
where
ref_grp_id=?
那为我解决了问题。
答案 3 :(得分:-1)
本地自定义元素V1规范实现在版本63的FireFox中可用。
因此,let childOfDataRef = your_fb.child("data").childByAutoId()
let key = childOfDataRef.key
,Chrome
,FireFox
和并行移动版本都支持自定义元素。
Opera
的支持到目前为止还缺少自定义的内置元素。