Javascript 使用WebComponentSJS的HTMLImports以意外的执行顺序加载导入-firefox
我是WebComponentSJS的新手,我一直在尝试使用HTMLImports将另一个HTML导入我的index.HTML。因为chrome支持HTML导入,所以我对它没有问题。但是当我在firefox上尝试同样的方法时,HTML导入并没有像预期的那样工作。问题是它加载所有HTML元素,加载所有脚本,然后只有| link rel=“import”|开始执行导入。为了更清楚地说明这一点,以下是触发警报的顺序:Javascript 使用WebComponentSJS的HTMLImports以意外的执行顺序加载导入-firefox,javascript,html,web-component,html-imports,Javascript,Html,Web Component,Html Imports,我是WebComponentSJS的新手,我一直在尝试使用HTMLImports将另一个HTML导入我的index.HTML。因为chrome支持HTML导入,所以我对它没有问题。但是当我在firefox上尝试同样的方法时,HTML导入并没有像预期的那样工作。问题是它加载所有HTML元素,加载所有脚本,然后只有| link rel=“import”|开始执行导入。为了更清楚地说明这一点,以下是触发警报的顺序:1.after vendor2。导入前3。vendor.js内部警报4.alert in
1.after vendor
2。导入前
3。vendor.js内部警报
4.alert inside test.html 默认情况下,html导入的执行类似于vendor.js中的
1.alert。在供应商
3之后。导入前.js
4.alert inside test.html
当然,它在chrome中的工作顺序相同。对于我所缺少的任何帮助,我们将不胜感激
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<link rel="icon" type="image/ico" href="/images/favicon.ico"/>
<script src="lib/webcomponentsjs/HTMLImports.js"></script>
<link rel="import" href="js_imports/vendorjs.html">
<script>alert("after vendor");</script>
<b>
</head>
<body class="side-nav-collapsed">
<script>alert("before import");</script>
<link rel="import" href="test.html">
</body>
</html>
测试
警报(“在供应商之后”);
警报(“进口前”);
这是因为Firefox使用了HTMLImports.js
polyfill,因此
调用是异步的
对于同样在IE或Edge中展示的此问题的解决方案: