Javascript 动态加载Web组件/HTML导入?
您将如何动态加载web组件—例如响应url路由更改Javascript 动态加载Web组件/HTML导入?,javascript,html,polymer,web-component,dynamic-script-loading,Javascript,Html,Polymer,Web Component,Dynamic Script Loading,您将如何动态加载web组件—例如响应url路由更改 我不会提前知道所请求的组件,所以您是否可以简单地使用JavaScript编写HTML导入,然后将代码添加到页面中,或者这是否意味着什么?也许谷歌聚合物有帮助?嗨,我在谷歌聚合物集团问过这个问题。 并且是针对这篇文章的 这清楚地表明,您可以通过将元素添加到dom或以编程方式动态实例化元素。但是,这似乎意味着您已经在运行时加载了html导入。我认为我们都想要实现的是使用ajax加载html导入(包括额外的css和js),然后添加我们的元素。我将
我不会提前知道所请求的组件,所以您是否可以简单地使用JavaScript编写HTML导入,然后将代码添加到页面中,或者这是否意味着什么?也许谷歌聚合物有帮助?嗨,我在谷歌聚合物集团问过这个问题。 并且是针对这篇文章的
这清楚地表明,您可以通过将元素添加到dom或以编程方式动态实例化元素。但是,这似乎意味着您已经在运行时加载了html导入。我认为我们都想要实现的是使用ajax加载html导入(包括额外的css和js),然后添加我们的元素。我将链接回polymer support论坛,看看是否可以在这里找到答案。考虑到自定义元素,您可以随时调用
document.registerement
。所以从这个角度来看,您可以使用任何已知的方法动态加载脚本,并拥有动态自定义元素
现在,关于HTML导入:
您是否可以简单地使用JavaScript编写HTML导入,然后添加
将代码添加到页面
是的,这是基本的想法
最新版本的HTML导入polyfill支持动态链接标记。瞧,你能行
var link = document.createElement('link');
link.setAttribute('rel', 'import');
link.setAttribute('href', some_href);
link.onload = function() {
// do stuff with import content
};
document.body.appendChild(link);
此外,Polymer还增强了对该功能的支持,即一种必要的api,如下所示:
Polymer.import([some_href], function() {
// called back when some_href is completely loaded, including
// external CSS from templates
});
第一个参数是数组,因此您可以请求多个HREF。很抱歉重新激活此参数:但您是否进一步了解了此参数?如果您正在构建chrome扩展/应用程序,您将需要使用前者,而不是后者,因为此问题: