首页 文章

HTML导入加载的聚合物覆盖脚本

提问于
浏览
0

是否可以访问(Polymer)Web组件的依赖项(也是一个组件),它唯一能做的就是加载一个js脚本,并用另一个(我的情况下是更新的版本)脚本覆盖它?

具体问题:我正在使用各种Polymer元素(例如paper-dialog),它们使用neon-animation,其不同的动画都导入了web-animations HTML,它加载了我想要覆盖的脚本 .

换句话说,我想执行类似于 /deep/ 组合器为CSS进入这个特定的HTML 'component'并添加更新版本的 web-animations-next-lite.min.js 脚本 .

至于原因:我们的想法是使用Chrome扩展程序执行此操作,因为远程更新不是一种选择(互联网连接限制) . 我需要这样做,因为Chrome v54我们的应用程序"broke"(因为我们使用较旧的网络动画版本)通过修复WebAnimations API所以these errors破坏了动画并具有该功能(弹出窗口不显示) .

我已经尝试使用Chrome扩展程序的内容脚本在我的主HTML体中注入较新的版本脚本,但那里没有任何运气 .

提前感谢任何想法!

2 回答

  • 0

    我知道它有点像黑客,但你不能把自己版本的web-animations脚本放在bower_components中 . 尝试更改聚合物元素的问题在于它已经加载了脚本,然后才能获得它 .

  • 0

    在您的HTML Imports <link> 上收听 load 事件,然后使用正确的 src 属性添加 <script> 元素 .

    这是最后下载(和解析)的脚本,将被考虑在内 .

    <script>
       function loaded() {
          //file.html loaded
          document.write( '<script src="new-file.js"></script>' )
       }
    </script>
    <link rel=import href="file.html" onload="loaded()">
    

相关问题