2017-02-19 5 views
1

このコードがChromeでは動作しますが、Safariでは動作しないのはなぜですか?エラー:ReferenceError:変数が見つかりません:ポリマーシンプルなポリマーコンポーネントがSafari 10で動作しない

Mac OSX 10.11.6。

コード:Safariでそれが最初に認識されていない状態(ネイティブに実装されていないので)クローム<link rel="import">に、同期的に処理されているので

<!DOCTYPE html> 
<html> 
<head> 
    <title>Test</title> 
    <script src="/node_modules/webcomponents.js/webcomponents-lite.min.js"></script> 
    <link rel="import" href="/node_modules/Polymer/polymer.html"> 
</head> 
<body> 
    <dom-module id="my-test"> 
    <template> 
     Hello ! 
    </template> 
    </dom-module> 

    <script> 
    Polymer({ 
     is: 'my-test' 
    }); 
    </script> 

    <my-test> 
    </my-test> 
</body> 
</html> 

答えて

3

にです。したがって、Polymer()は解析時に定義されていません。

Polymer()を呼び出す前に、HTMLImportsLoadedイベントを待つ必要があります。 Polymer documentationで説明したように

<script> 
    document.addEventListener("HTMLImportsLoaded", function() { 
     Polymer({ 
      is: 'my-test' 
     }); 
    }) 
</script> 

また、代わりにHTMLImports.whenReady()を使用することができます。

<script> 
    HTMLImports.whenReady(function() { 
     Polymer({ 
      is: 'my-test' 
     }); 
    }) 
</script> 
+0

あなたが助けてくれればupvoteできます:) – Supersharp

関連する問題