1 $.extend({
2 loadScript : function (url, data, callback) {
3 if ($.isFunction(data)) {
4 callback = data;
5 data = null;
6 }
7 if (data != null) {
8 var urlInfo = url.match(/^([^?#]+)\?*([^#]*)#?(.*)$/);
9 url = urlInfo[1];
10 var query = $.trim(urlInfo[2]);
11 var fragment = $.trim(urlInfo[3]);
12 if (typeof data === 'object') {
13 data = $.param(data);
14 }
15 if (typeof data === 'string') {
16 query += (query == '' ? data : ("&" + data));
17 }
18 query === '' || (url += ('?' + query));
19 fragment === '' || (url += ('#' + fragment));
20 }
21
22 var script = document.createElement("script");
23 script.type = "text/javascript";
24 script.src = url;
25 script.onload = script.onreadystatechange = function () {
26 if (!document.all || document.all && this.readyState == "loaded") {
27 if ($.isFunction(callback)) {
28 callback();
29 }
30 }
31 }
32 document.getElementsByTagName("head")[0].appendChild(script);
33 delete script;
34 }
35 });