Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用WebComponentSJS的HTMLImports以意外的执行顺序加载导入-firefox_Javascript_Html_Web Component_Html Imports - Fatal编程技术网

Javascript 使用WebComponentSJS的HTMLImports以意外的执行顺序加载导入-firefox

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

我是WebComponentSJS的新手,我一直在尝试使用HTMLImports将另一个HTML导入我的index.HTML。因为chrome支持HTML导入,所以我对它没有问题。但是当我在firefox上尝试同样的方法时,HTML导入并没有像预期的那样工作。问题是它加载所有HTML元素,加载所有脚本,然后只有| link rel=“import”|开始执行导入。为了更清楚地说明这一点,以下是触发警报的顺序:

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中展示的此问题的解决方案: