边缘

时间:2017-09-20 16:28:09

标签: microsoft-edge polymer-2.x

我试图将Polymer 2组件集成到现有的SPA中(使用JSF构建[ab])。 只要我的POC在Chrome中运行,我就掌握了基础知识,我真的不在乎它是在Shadow还是Shady DOM中呈现(但两者都经过成功测试)。此外,还没有聚合物构建。 但一切都很好。

输入MS Edge。 现在我需要填充每个平台功能,但我很好: 我做了 bower安装webcomponentsjs ,我还 <script> - 包含webcomponents-lite.js ,这是我的html标头中的第一件事。 即使强制所有polyfill ,Chrome中的一切也能正常运行。

对于以下文件(非详尽列表),MS Edge只会产生大量 HTTP 404

  • (XHR)GET - 本地主机:9980 /我的/应用/根/ bower_components / webcomponentsjs / 20%[合成:UTIL /全球]
  • [...]根/ bower_components / webcomponentsjs / webcomponents喜-SD-CE-PF-index.js
  • [...] root/bower_components/node_modules/@webcomponents/shadycss/src/scoping-shim.js
  • + 63个类似的失败请求,全部指向bower_components / node_modules

有趣的是,在仅运行bower install后,我的设置中不存在这些问题。他们应该被生成吗?如果是这样,在什么构建/设置步骤? 包括webcomponents-loader而不是webcomponents-lite并没有任何区别。

Webcomponents polyfill首先包含在标题中;聚合物lib最后。其中还加载了一些其他JavaScript库,用于呈现应用程序。 在呈现和初始化应用程序本身之后,按需实例化组件并延迟加载。但我怀疑Edge在此之前很久就停止了与WC相关的任何事情。 此外,我无法调试任何网络活动(例如正确加载webcomponents- [lite | loader]),因为F12调试工具&#39;网络标签在加载时立即死亡。

我的应用由 WebSphere Liberty个人资料(Windows 7)提供服务,这可能会也可能不会产生重大影响。也许这是文件/磁盘权限的问题?我怎么检查呢?

我知道这个问题与Polymer 2.0 webcomponents-loader.js is missing Edge polyfill非常相似,但我决定对环境进行更全面的描述,因为我怀疑这是问题。

任何想法都赞赏。

2 个答案:

答案 0 :(得分:0)

Edge正在运行,但使用F12开发人员工具可以解决问题。

事实证明,这与我的背景根本没有关系;同样的问题适用于使用入门套件创建的项目。

请参阅https://github.com/PolymerElements/polymer-starter-kit/issues/1025了解另一个角度:

  

@Inrego于7月27日发表评论:   我更新了聚合物-cli并使用聚合物初始化,然后使用聚合物   结果:没有F12窗口,应用程序加载。在F12窗口打开的情况下,应用程序无法加载,并且会抛出一些js错误。

答案 1 :(得分:0)

我找到了邪恶的真正根源,至少对于我非常具体的背景(见OP):

webcomponentsjs-polyfills修改本机DOM功能,该功能由同一页面中包含的任何其他框架使用

因此,虽然Web组件可能仍然可以快速呈现(取决于它们自己的实现),但polyfill也会严重影响封装页面的呈现行为(和性能)。 因此,如果您正在进行大量必要的DOM操作(就像我一样),那么页面/应用程序可能会死于缓慢的死亡。