x-tags没有在IE上触发WebComponentsReady

时间:2013-08-02 21:42:07

标签: internet-explorer x-tag

这适用于Chrome,但它在IE中很常见。

我正在尝试使用HTMLImports(通过x-tag库)导入标记,但是WebComponentsReady事件永远不会触发,我看到我的元素是HTMLUnknownElements。

<element name="test-tag">

  <template>
    <section>
      I am an instance of test-tag
    </section>
  </template>


  <script>
    if (this != window) {

      var element = this;
      console.log("element", element);


      xtag.register(this, {

        lifecycle: {
          created: function () {
            console.log("created." + "created()", arguments);

            var template = element.querySelector("template");
            console.log('template', template, template.content);

            this.appendChild(template.content);

          }
        }
      });
    }
  </script>
</element>

我在控制台得到这个......

窗口加载
HTMLImportsLoaded
element [object HTMLUnknownElement]
template [object HTMLUnknownElement] undefined
SCRIPT5022:HierarchyRequestError
014_xtag,第17行第13位

<!doctype html>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>X-Tag</title>

  <script type="text/javascript" src="../../lib/x-tag-core.js"></script>
  <link rel="import" href="components/test-tag.html"/>
  <script type="text/javascript">

    window.onload = function () {
      console.log("window loaded");
    };
    window.addEventListener('HTMLImportsLoaded', function () {
      console.log("HTMLImportsLoaded");
    });
    window.addEventListener('WebComponentsReady', function () {
      console.log("WebComponentsReady");
    });
  </script>
</head>

<body>
<test-tag></test-tag>
</body>
</html>

HTMLImports只是简单的失败。不知道为什么,但如果我在主html文件中定义自定义元素,它就可以正常工作。

我也在Safari中测试。模板标记显示为空。

所以...模板标签在导入时失败,但实际导入本身正在运行。

1 个答案:

答案 0 :(得分:1)

Jeeeeez。我在我的元素的脚本标签中添加了type =“text / javascript”,现在一切正常。