像大多数人一样,我在我的网站上使用了一堆 jquery 插件。从 Twitter 引导程序到 jquery ui datepicker 等等。
但是我需要我的网站是多语言的,所以我创建了一个名为 english.js 的通用语言文件,并且在该文件中我想声明插件的一些默认值以及其他语言变量。
问题是所有这些插件都有不同的结构来声明默认值。我已经看到了几个问题(jquery - 设置插件默认值?,全局定义 jQuery 插件参数,jQuery 插件默认值,...)。但他们并不清楚。
结构 1
$.fn.ajaxStatus = function (params)
{
var settings = $.extend(
{
defaultLoadingText :"Loading...",
defaultSavingText :"Saving...",
defaultDoneText :"Done",
defaultRedirectText:"Redirecting...",
defaultErrorText :"Oops! Our bad, something wrong.";
},$.fn.ajaxStatus.defaults,
params),
});
结构 2
jQuery.fn.extend({
shrinker:function (options) {
var opts = $.extend({
"moreText":"Read more",
"lessText":"hide",
}, $.fn.shrinker.defaults, options);
});
问题
在不修改插件的情况下,是否可以为每次使用插件时将使用的功能分配一些默认值?如何在外部文件中定义语言默认值?
现在,我的语言文件中有这个,但感觉不对,你是这样做的吗?
if ($.fn.ajaxStatus !== undefined) {
$.fn.ajaxStatus.defaults =
{
defaultLoadingText :"Loading2...",
defaultSavingText :"Saving2...",
defaultDoneText :"Done2",
defaultRedirectText:"Redirecting2...",
defaultErrorText :"Oops! Our bad, something wrong"
};
}
提前感谢您的帮助。