gpt4 book ai didi

javascript - jquery 全局化 : how to add the modules I need to the project

转载 作者:行者123 更新时间:2023-11-29 10:15:26 24 4
gpt4 key购买 nike

他们的例子和代码只是顺便提到了如何只使用你需要的模块。

例如,如果您需要日期格式化程序,您将如何使用它?

您只是将它与 globalize.js 一起使用,还是以某种方式单独加载它,类似于加载 cldr 文件?

例如:

<html>
<head>
<script type="text/javascript" src="../js/globalize/globalize.js"></script>
</head>
...

加载 globalize.js 就好了。但是我没有加载日期模块,所以代码中某处未定义 Globalize.dateFormat。

但如果我这样做,将获取日期模块,如示例之一所示。

 <html>
<head>
<script type="text/javascript" src="../js/globalize/globalize.js"></script>
<script type="text/javascript" src="../js/globalize/date.js"></script>
</head>
...

根本不加载全局化;如果我尝试执行 Globalize.locale("us"),那么 Globalize 是未定义的。

最佳答案

不需要延迟加载 date.js,所以我按照通常的方式在 header 中指定了它。我确实将它向下移动了很多,这可能为加载一些先决条件提供了时间。

var locLoaded = null;
function loadGlobalize(locale) {
var loc = util.fixNoE(locale, "en");

var codes = [
'ar', 'ca', 'cs', 'da', 'de', 'el', 'en', 'en-001', 'en-AU', 'en-CA',
'en-GB', 'en-HK', 'en-IN', 'es', 'fi', 'fr', 'he', 'hi', 'hr',
'hu', 'it', 'ja', 'ko', 'nb', 'nl', 'pl', 'pt', 'pt-PT', 'ro', 'ru',
'sk', 'sl', 'sr', 'sv', 'th', 'tr', 'uk', 'vi', 'zh', 'zh-Hant'
];

if (codes.indexOf(loc) < 0) {
var baseLoc = loc.split('-')[0];
var index = codes.indexOf(baseLoc);
loc = (index > -1 ? baseLoc : "EN");
}

if (loc != locLoaded) {

var files = [
"../globalize/supplemental/likelySubtags.json",
"../globalize/supplemental/timeData.json",
"../globalize/supplemental/weekData.json",
"../globalize/main/" + loc + "/ca-gregorian.json",
"../globalize/main/" + loc + "/numbers.json",
"../globalize/main/" + loc + "/dateFields.json"
];

var fileCount = files.length;
files.forEach(function(f) {
$.getJSON(f, function(data) {
fileCount--;
Globalize.load(data);
if (fileCount == 0) {
//wait until the last file is loaded to specify the locale
Globalize.locale(loc);
}
});
});
locLoaded = loc;
}
}

loadGlobalize(window.navigator.userLanguage || window.navigator.language);

在我的应用程序中,此代码位于已加载 DOM 和 jQuery 的 block 中。导致此问题的 globalize.js 文档有两处不同:

  1. 您必须执行 $.getJSON() 而不是文档示例中指定的 $.get()。

  2. 如果在加载适当的数据文件之前运行 Globalize.locale(),您将得不到有效的日期格式化程序对象。

关于javascript - jquery 全局化 : how to add the modules I need to the project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23144104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com