Board logo

标题: 使用 jQuery 创建自己的插件-6 获取用户的语言环境 [打印本页]

作者: look_w    时间: 2018-8-23 09:42     标题: 使用 jQuery 创建自己的插件-6 获取用户的语言环境

获取用户的语言环境最后一个问题与 jQuery 无关,但是使用该插件时可能会出现 —— 如何获取用户的语言环境?这个问题提得很好,因为目前使用 JavaScript 没有办法获取该信息。您需要创建一个 JavaScript Bridge 来实现该目的。什么是 JavaScript Bridge?我的意思是您可以建立一个简单的设计模式将值从服务器端代码传入 JavaScript 代码。清单 10 展示了您可以使用 Java 在 JSP 页面做到这一点。            
清单 10. 获取用户的语言环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%

    // the request object is built into JSPs
    // unfortunately, it's not any easier
    // tested on FF, IE, Safari, Chrome
    String locale = "us"; // or your default locale
    String accLang = request.getHeader("Accept-Language");
    if (accLang.length() > 5)
    {
       accLang = accLang.substring(0,5);
       locale = accLang.substring(accLang.indexOf("-")+1);
    }

%>

$(document).ready(function() {

   // take advantage of the ability to override defaults by using the JavaScript
   // Bridge here.  Then your page can use the format() and parse() functions
   // elsewhere in the page without modifying them for a user's locale.
   $.fn.format.defaults.locale = "<%=locale%>";
   $.fn.parse.defaults.locale = "<%=locale%>";
   
   });




共享插件最后,编写和测试插件都做完了。最后一步是与他人共享该插件,并将它上传到 jQuery 网站的插件存储库。
结束语在本文中,我主要介绍如何为 jQuery JavaScript 框架创建插件。我从头开始,构思了一个想法并将其付诸实现,介绍了创建该插件要使用的几个步骤。然后,我阅读了 jQuery “戒律”,它是为确保插件的一致性而设置的插件规则。我还在文章中提醒这些规则,因为我看到许多规则在插件中都没有得到遵守,尤其是只能在插件中使用 “jQuery” 而不是 “$”(当然,我遵守了该规则)。
介绍了插件的背景,以及编写插件的规则之后,您了解了基本的插件框架以及在插件中编写方法与编写函数的不同。方法应该在采用选定元素作为参数并对其执行某些操作时使用。提供页面元素的任务由调用方法的人负责。另一方面,函数应该在对选定元素不感兴趣时使用,因为您已经知道要执行操作的页面元素。提供页面元素的任务由编写该函数的开发人员负责。这两种形式的插件都是有效的,仅在在插件需求上有所不同。最后,查看设置默认选项的基本方式以及如何让用户提供自己的选项。
本文的下一步是为插件提供一些亮点,以增加它的先进性。该步骤给整个插件画上了句号,有效地创建了私有函数和公共函数。我创建了一些在插件内部调用的函数,以便插件外部的人无法调用它们。您还可以看到如何向插件用户展示默认值,让用户定义他们自己的默认值,轻松实现编码。
最后,在样例 web 应用程序中使用插件展示它的行为。本文的最后一部分是这些努力工作的最终成果 —— 您需要将插件上传到 jQuery 插件社区站点,让它成为 JavaScript 库的一部分。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0