From: Michael P. <mp...@ph...> - 2001-01-05 14:23:18
|
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> I was looking at a way of making the DynAPI.include method more simple. Here's what I came up with: <p><tt>include : function(src,path) {</tt> <br><tt> srcArray = src.split('.');</tt> <br><tt> if (!path) var path=DynAPI.librarypath;</tt> <br><tt> var pckg=srcArray[0];</tt> <br><tt> var grp=srcArray[1];</tt> <br><tt> var file=srcArray[2];</tt> <br><tt> if (file=='*') {</tt> <br><tt> if (DynAPI.packages[pckg]) group=DynAPI.packages[pckg][grp];</tt> <br><tt> if (group) for (var i in group) document.write('<script language="Javascript1.2" src="'+path+pckg+'/'+grp+'/'+group[i]+'.js"><\/script>');</tt> <br><tt> else alert('include()\n\nThe following package could not be loaded:\n'+src+'\n\nmake sure you specified the correct path.');</tt> <br><tt> } else {</tt> <br><tt> if (path[path.length-1] != "/") path += "/";</tt> <br><tt> document.write('<script language="Javascript1.2" src="'+path+srcArray.join('/')+'.js"><\/script>');</tt> <br><tt> };</tt> <br><tt>}</tt> <p>This way, there is no more searching for '.' over and over again. <br>Also, you can now refer to individual files (even you own external files) using '.' instead of '/'. This way, it fits the library syntax. Hope this is of some use. <p>Robert Rainwater wrote: <blockquote TYPE=CITE>I've updated my current version to do this for a while, but just haven't put <br>it in CVS. I will update CVS soon so that the include will work that way. <p>Robert <br>----- Original Message ----- <br>From: "Michael Bürge" <mb...@st...> <br>To: <dyn...@li...> <br>Sent: Tuesday, January 02, 2001 6:58 PM <br>Subject: [Dynapi-Dev] DynAPI.include() <p>> hi there. <br>> <br>> this is my first post to this list, and i would like to use the <br>opportunity to thank you for the great work you're all doing. i just started <br>dealing with <br>> the dynapi after having spent a _lot_ of time putting together something <br>similar on my own (i now finally gave up, mainly because it's just way too <br>much <br>> work keeping everything up to date). <br>> <br>> now to the real issue of this post: <br>> <br>> the following is an excerpt from part 1 one of the tutorials written by <br>Pascal, describing the include() function: <br>> <br>> * DynAPI.include('myownfile.js','location/path') <br>> Include your own file not located in the [dynapi base path] location <br>> * DynAPI.include('myownfile.js','./') <br>> Include your own file located at the current file location. <br>> <br>> i like these features, so i tried to use them bu it didn't work. looking <br>at the code i realised that they weren't implemented at all. i don't know if <br>> somebody did already implement them, but both the current distro and the <br>current CVS-version do not contain them. <br>> so here's my version: <br>> <br>> include : function(src,path) { <br>> if(src.substring(src.length-3)!=".js") src+=".js"; <br>> if (!path) var path=DynAPI.librarypath; <br>> else { <br>> if (path=="./") path = ""; <br>> else if (path[path.length-1] != "/") path += "/"; <br>> document.write('<script language="Javascript1.2" src="'+ path + src <br>+ '"></script>'); <br>> return; <br>> } <br>> ....some more stuff.... <br>> } <br>> <br>> hope this is usefull, and sorry if i missed the version containing those <br>features. (BTW: is was pretty hard for me to find out where to get the <br>current <br>> files, so a few hints on the project-webpage would save a great deal of <br>time to people interested in looking at the current work going on) <br>> <br>> that all for now. <br>> greets. <br>> michael buerge <br>> <br>> <br>> _______________________________________________ <br>> Dynapi-Dev mailing list <br>> Dyn...@li... <br>> <a href="http://lists.sourceforge.net/mailman/listinfo/dynapi-dev">http://lists.sourceforge.net/mailman/listinfo/dynapi-dev</a> <p>_______________________________________________ <br>Dynapi-Dev mailing list <br>Dyn...@li... <br><a href="http://lists.sourceforge.net/mailman/listinfo/dynapi-dev">http://lists.sourceforge.net/mailman/listinfo/dynapi-dev</a></blockquote> </html> |