使用yepnope.js加载字符集

时间:2012-05-25 11:29:57

标签: jquery yepnope

有没有办法在不使用charset: "utf-8"方法的情况下使用加载方法将yepnope.injectJs注入到yepnope

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

1 个答案:

答案 0 :(得分:0)

不容易,但您可以使用过滤器来执行此操作:

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

如果你遇到任何问题,虽然这没有用,但是没有charset属性的脚本应该选择文档的charset(来自Content-Type标题或<meta charset>标记)。在加载带有BOM(字节顺序标记)的UTF-8编码文件时,某些浏览器会出现问题,特别是Firefox。

另外,yepnope.js试图在非IE / Opera浏览器中加载脚本作为标签显然,这是我所有问题的根源,最终让我改为LABjs。