0

メソッドを使用せずにloadメソッドcharset: "utf-8"を使用してyepnopeに注入する方法はありますかyepnope.injectJs

yepnope({
         load: newResourcesToBeLoaded,
         complete: function() {
                   addNewlyLoadedResources(newResourcesToBeLoaded);
                   completeCallback();
         }
});
4

1 に答える 1

0

簡単ではありませんが、フィルターを使用してそれを行うことができます。

yepnope.addFilter(function (resourceObj) {
  if (resourceObj.url.slice(-3) == ".js") {
    resourceObj.attrs = resourceObj.attrs || {};
    resourceObj.attrs["charset"] = "UTF-8";
  }
  return resourceObj;
});

私が抱えていた問題のいずれかが発生している場合、これは役に立ちませんが、charset 属性のないスクリプトは、とにかくドキュメントの文字セットを (Content-Typeヘッダーまたは<meta charset>タグから) 取得する必要があります。一部のブラウザーでは、BOM (バイト オーダー マーク) が定義された UTF-8 でエンコードされたファイルを読み込むときに問題が発生します。Firefox では特にそうです。

また、yepnope.js は IE/Opera 以外のブラウザーでタグとしてスクリプトを読み込もうとします。これがすべての問題の原因であり、最終的に代わりに LABjs に変更しました。

于 2012-08-16T20:11:06.733 に答える