473,465 Members | 1,747 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

import/include a .js file into a .js file

Hi,

Is there a way to include a .js file inside a .js file in JavaScript 1.5?

Thanx

Henri

Jul 23 '05 #1
8 207645
In article <41**********************@news.wanadoo.fr>, hm********@hotmail.com
enlightened us with...
Hi,

Is there a way to include a .js file inside a .js file in JavaScript 1.5?


Not that I know of. If you figure one out, I'd love to see it. I'm tired of
having to copy/paste library functions, too.

--
--
~kaeli~
If a turtle doesn't have a shell, is he homeless or naked?
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace

Jul 23 '05 #2
kaeli wrote:
In article <41**********************@news.wanadoo.fr>, hm********@hotmail.com
enlightened us with...
Hi,

Is there a way to include a .js file inside a .js file in JavaScript 1.5?

Not that I know of. If you figure one out, I'd love to see it. I'm tired of
having to copy/paste library functions, too.


In the included file either document.write the script tag to include the
second file, or, createElement and load it.

Of course, with server side coding, it becomes trivial to add an include
statement to include the external file.

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq
Jul 23 '05 #3
In article <GN********************@comcast.com>, Hi************@aol.com
enlightened us with...

In the included file either document.write the script tag to include the
second file, or, createElement and load it.

Of course, with server side coding, it becomes trivial to add an include
statement to include the external file.


I don't think that would work for what I want it for.

I have a library file called jsValidation.js with generic functions for
things like testing for blank fields, format of phone number, and so on.

I also have one called jsEvents.js with a way to add events in a cross-
browser fashion. It has a function called addEvent.

Now, say I want to make a third js file and I want to call functions isBlank
from the validation file and addEvent from the event file.

I don't think I can do that. Do you know a way?

--
--
~kaeli~
If God dropped acid, would he see people?
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace

Jul 23 '05 #4
Unless I'm misunderstanding this, you're barking up the wrong tree here.
You don't call js functions from files, you load the files into RAM (the
js memory space) and then simply simply call any functions needed; if in
scope, they'll run. The only difference between embedded (hardcoded) js
and 'external' js is that one is - erm - embedded in the main document
and read into memory from there, and the other is stored in a separate
file and loaded from there. No other distinctions: 'external' js doesn't
sort of "hover out there" as many seem to thing, waiting to be "called".
It's either loaded or it's not, available or not.

There are apis with member functions specifically designed to 'import'
needed external files (using document.write to print script tags) but
they're highly proprietary.

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 23 '05 #5
kaeli...

btw love your sig..Totally 60s. :D

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 23 '05 #6
In article <41**********************@news.newsgroups.ws>, ferndoc9
@hotmail.com enlightened us with...
Unless I'm misunderstanding this, you're barking up the wrong tree here.


Not quite. But I did make a bit of a logic error. I'm too used to compiled
code. ;)
I want to ensure both files are loaded into memory when only one is
specifically included in the client html file with <script src=> type tag.

Since I only use script in my intranet apps, and we only support DOM
browsers, I see now that I can simply add the other files like so:

/* jsHandler.js */
function inc(filename)
{
var body = document.getElementsByTagName('body').item(0);
script = document.createElement('script');
script.src = filename;
script.type = 'text/javascript';
body.appendChild(script)
}

inc("jsValidation.js");
inc("jsEvents.js");

/* several more functions that call functions in the above two files */
function blah (foo)
{
if (isBlank(foo)) return false;
}

/* end */

Then in my JSP, I can just do
<script type="text/javascript" src="jsHandler.js"></script>
and it will get both the other files as well.

I suspect there would be problems with scripts that try to run prior to page
load (such as image preloaders), but none of mine do that. My stuff is pretty
much all form validation and dynamically adding event handlers to JSP-
generated form elements.

Thanks for the tips.

--
--
~kaeli~
Profanity: the single language in which all programmers are
expert.
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace

Jul 23 '05 #7
This is the best solution I've found so far:

At the beginning of each .js file importing another file:
(this file defines a class called 'myclass' and 'km_' is just the prefix I
use for my functions or classes)

----------------------------------------------------------------
// myclass.js

if (typeof(km_scripts) == 'undefined') var km_scripts = new Object();
km_myclass_import('importedfile.js');

function km_myclass_import(jsFile) {
if (km_scripts[jsFile] != null) return;
var scriptElt = document.createElement('script');
scriptElt.type = 'text/javascript';
scriptElt.src = jsFile;
document.getElementsByTagName('head')[0].appendChild(scriptElt);
km_scripts[jsFile] = jsFile; // or whatever value your prefer
}

function km_myclass_alert() {
alert(importedValue);
}

-------------------------------------------------------------
The imported file importedfile.js:

// importedfile.js

var importedValue = 'The file was imported';

----------------------------------------------------------------
The HTML file to test it :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<script language="javascript" src="myclass.js" />
<TITLE></TITLE>
</HEAD>
<BODY>
<input type="button" value="Test!" onclick="km_myclass_alert()" />
</BODY>
</HTML>
Thanx for your helps
Henri
"kaeli" <ti******@NOSPAM.comcast.net> a écrit dans le message de
news:MP************************@nntp.lucent.com...
In article <41**********************@news.wanadoo.fr>, hm********@hotmail.com enlightened us with...
Hi,

Is there a way to include a .js file inside a .js file in JavaScript 1.5?
Not that I know of. If you figure one out, I'd love to see it. I'm tired

of having to copy/paste library functions, too.

--
--
~kaeli~
If a turtle doesn't have a shell, is he homeless or naked?
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace


Jul 23 '05 #8
kaeli wrote:
In article <GN********************@comcast.com>, Hi************@aol.com
enlightened us with...
In the included file either document.write the script tag to include the
second file, or, createElement and load it.

Of course, with server side coding, it becomes trivial to add an include
statement to include the external file.

I don't think that would work for what I want it for.

I have a library file called jsValidation.js with generic functions for
things like testing for blank fields, format of phone number, and so on.

I also have one called jsEvents.js with a way to add events in a cross-
browser fashion. It has a function called addEvent.

Now, say I want to make a third js file and I want to call functions isBlank
from the validation file and addEvent from the event file.

I don't think I can do that. Do you know a way?


<script src="myCustomJSFile.php" type="text/javascript"></script>

And in myCustomJSFile.php:

include 'jsValidation.js';
include 'jsEvents.js';
include 'thirdJSFile.js';

//rest of unique to the page JS code here
When the browser gets it, all in one file, are all the functions/code
you want.

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq
Jul 23 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Bill Davy | last post by:
I am working with MSVC6 on Windows XP. I have created an MSVC project called SHIP I have a file SHIP.i with "%module SHIP" as the first line (file is below). I run SHIP.i through SWIG 1.3.24...
3
by: ch424 | last post by:
Hi there, I'm using Python 2.4.1 on Ubuntu Linux, and I'm having problems extending python in C: The C code is below: #include <Python.h> #include "ni488.h"
1
by: mirandacascade | last post by:
O/S: Windows 2K Vsn of Python: 2.4 Currently: 1) Folder structure: \workarea\ <- ElementTree files reside here \xml\ \dom\
2
by: Keith Chadwick | last post by:
I have been running some tests with regards to xsl:include and xsl:import with the same results on both and I am wondering if someone can explain this behavior to me! First off the xslt file is...
1
by: Stephen Edgecombe | last post by:
Hi Environment: Visual Studio .NET 2003 (vb) I am developing an XSD Schema and want to include some building blocks from another source, so they have a different namespace. - If I use an...
2
by: s.hong | last post by:
Hello? On the ASP.NET, I can use the class by import declation on the top of page. <%@ page language="vb" explicit="true" aspcompat="false" debug="true"%> <%@ import namespace="System.Data" %>...
4
by: Bruce W. Roeser | last post by:
All, I'm reading a book by Charles Petzold (Programming VS.Net). Pretty good content but am confused about the difference. From the text: ...
6
by: robert | last post by:
I get python crashes and (in better cases) strange Python exceptions when (in most cases) importing and using cookielib lazy on demand in a thread. It is mainly with cookielib, but remember the...
49
by: Martin Unsal | last post by:
I'm using Python for what is becoming a sizeable project and I'm already running into problems organizing code and importing packages. I feel like the Python package system, in particular the...
2
by: worlman385 | last post by:
So the difference between import and include is that: import = used for binary library like DLL or .Lib files. it's very similar to include that it load all the header (function definition) from...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.