4

このgitリポジトリにリストされているAurelia-TypescriptプロジェクトがChromeブラウザでのみ機能する理由を知っている人はいますか?

現在 Chrome でのみサポートされていて、IE や FireFox ではサポートされていない ES6 機能はありますか?

編集- 以下は、Firefox 34.0.5 からのエラー メッセージです。

オブジェクトの [[Prototype]] を変更すると、コードの実行が非常に遅くなります。代わりに、Object.create core.js:130 を使用して、正しい初期 [[Prototype]] 値でオブジェクトを作成します。

HTML ドキュメントの文字エンコーディングが宣言されていません。ドキュメントに US-ASCII 範囲外の文字が含まれている場合、一部のブラウザー構成では、ドキュメントが文字化けしてレンダリングされます。ページの文字エンコーディングは、ドキュメントまたは転送プロトコルで宣言する必要があります。index.html

「DEBUG [bootstrapper] HTMLImports ポリフィルの読み込み」core.js:2518

Web コンソール ログ API (console.log、console.info、console.warn、console.error) は、このページのスクリプトによって無効にされています。

エラー: スクリプト エラー: webcomponentsjs/HTMLImports.min http://requirejs.org/docs/errors.html#scripterror require.js:166

4

2 に答える 2

4

aurelia-bundle.js の 15346 行目 (ブートストラップ部分) で、HTML インポートがサポートされているかどうかを確認します。

      if (!("import" in document.createElement("link"))) {
        logger.debug("loading the HTMLImports polyfill");
        toLoad.push(System.normalize("webcomponentsjs/HTMLImports.min", loaderName).then(function (name) {
          return System["import"](name);
        }));
      }

すぐに使用できる唯一のブラウザは Chrome です。他のブラウザーの場合、HTMLImports ポリフィルの読み込みは次の理由で失敗します。

  1. HTMLImports.min.js がwebcomponentsjsディレクトリにありません
  2. パスは「aurelia/webcomponentsjs/HTMLImports.min」である必要があります。webcomponentsjs をルート パスに移動した方がよいかもしれません (これをバンドリングでどのように処理できるかわかりません)
  3. HTMLテンプレート要素のポリフィルについては、以下の@Chi Rowの回答に従ってください(IE 11はそれらをサポートしているように見えるため、なくても機能しました)。
于 2015-03-01T23:30:47.500 に答える
3

上記の@T Solの回答は、Firefoxの問題を解決しました。

IE の場合、この git リポジトリから HTMLTemplateElements.js をダウンロードし、ルート ディレクトリにファイルを配置しました。次に、ファイルの名前を aurelia-html-template-elements.js に変更しました。

これでIEの問題は解決しました。

于 2015-03-02T02:34:51.270 に答える