分享
 
 
 

在javascript里 include javascript

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

前文:讨论 JDK6 包含javascript.....

江南白衣 12:06:41

一直有个疑问, a.js如何include b.js....js的封装,管理性比较弱噢.

buaawhl 12:07:24

我看到一个 jspackage的项目,

buaawhl 12:07:45

就是模仿java的import pakage ,管理js

江南白衣 12:08:12

那爽阿,现在项目里N多js文件,互相又不能include.....

url?

buaawhl 13:55:29

http://jspackaging.sourceforge.net/

buaawhl 13:55:50

http://jspackaging.sourceforge.net/examples/Examples.html

phalanger 14:11:46

原来是要用createElement,而不是document.write

江南白衣 14:12:34

谢谢,问题又解决掉一个:)

buaawhl 14:12:54

这个只能用在客户端?

江南白衣 14:13:07

main.js

JSLoad ("scripts/com/iskitz/js/packaging/examples/JSLoadExample.js");

if(typeof isJSLoaded != "undefined")

{

isJSLoaded();

}

JSLoadExample.js ::

function isJSLoaded()

{

alert("JSLoad was successful!");

}

江南白衣 14:13:12

so easy for use.

buaawhl 14:14:04

/*--------------------------------------------------------------------------+

| JSLoad (url // String - Scripts location (i.e. http://.../a.js)

| [, container] // Object - Window with script loading capability

| [, type] // String - Type of script (i.e. text/javascript)

| [, defer] // Boolean - Flag for delaying script processing

| [, language] // String - Language script is written in.

| [, title]) // String - Title for loaded script

|+--------------------------------------------------------------------------+

| Loads external JavaScripts; used by Import.

*--------------------------------------------------------------------------*/

function JSLoad(url, container, type, defer, language, title)

{

// verify / attain container

if(container == undefined || container == null) container = this;

// setup container

if(typeof container.write == "undefined")

if(typeof container.document != "undefined")

container = container.document;

else throw "Invalid container. Unable to load [" + url + "]";

// no type set

if(type == undefined || type == null)

{

type = '';

// no language so set default type

if(language == undefined || language == null)

{

language = undefined;

type = "text/javascript";

}

}

// set default language

if(language == undefined || language == null) language = "JavaScript";

// set title

if(title == undefined || title == null) title = '';

// set defer

if(defer == undefined) defer = false;

// build the script object

var script = container.createElement("script");

script.defer = defer;

script.language = language;

script.title = title;

script.type = type;

script.src = url;

// dynamically load the script via it's container

var head = container.getElementsByTagName("head")[0];

head.appendChild(script);

}

/*--------------------------------------------------------------------------+

| JSPackage (packageID // String - Fully-qualified package name

| [, owner]) // Object - Container

|+--------------------------------------------------------------------------+

| Createa a uniquely-named package to encapsulate JavaScript functionality.

*--------------------------------------------------------------------------*/

function JSPackage(packageID, owner)

{

var _package = (owner == undefined || owner == null) ? window : owner;

packageID = packageID.split('.');

// load / create the package

for(var i=0, j=packageID.length; i < j; i++)

if(typeof _package[packageID[i]] == "undefined")

_package = _package[packageID[i]] = {};

else

_package = _package[packageID[i]];

// attempt to complete any pending imports

CompleteImports(owner);

return _package;

}

/*--------------------------------------------------------------------------+

| JSPackageException (String packageID)

|+--------------------------------------------------------------------------+

| Used to catch JSPackage exceptions caused by invalid package ids.

*--------------------------------------------------------------------------*/

function JSPackageException(packageID)

{

this.name = _pathPacked + ".JSPackageException";

this.message = "Invalid package name [" + packageID + "]";

this.toString = function ()

{

return "[" + this.name + "] :: " + this.message;

};

}

buaawhl 14:15:05

JSLoad好像是依靠生成 <script import>来引入js file的

buaawhl 14:15:29

需要一个Container。应该是browser 里面的HTML DOM

phalanger 14:17:44

关键就在这里吧:

var script = container.createElement("script");

script.defer = defer;

script.language = language;

script.title = title;

script.type = type;

script.src = url;

// dynamically load the script via it's container

var head = container.getElementsByTagName("head")[0];

head.appendChild(script);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有