Start New Discussion within our Web Development Community

Dear All,

In my "Javascripts\english" folder I have language related javascript files. In one of these files there is a function I want it to get the return value of a function getChangedDate() from a general Javascript file called changes.js in my "Javascripts" folder.
I also want to use the same getChangedDate() function in from my "Javascripts\français", "Javascripts\italiano", "Javascripts\deutsch", "Javascripts\nederlands", ... folders.

How can I get this return value?
Someone suggested this soluton:

load("../changes.js") ;
changedDate = getChangedDate() ;

I also tried
load("/Javascripts/changes.js") ;
changedDate = getChangedDate() ;

or
load("\Javascripts\changes.js") ;
changedDate = getChangedDate() ;

or
load("..\changes.js") ;
changedDate = getChangedDate() ;

Non of these work, probably because there is not such a thing as a standard load() function.

There are several things you can do... for example it is possible to dynamically add and remove html nodes from your page using javascript. But I find this isn't particularly quick (sometimes you need to wait before you try and call a newly loaded script - using setTimeout or similar).

But I think there are a couple of simple solutions to your problem - either using some kind of server side technology to decide on language and draw the page to fit... or write a global interface to your language files. So you only have one function getChangedDate() , but this calls a specific getChangedDate() based on a global variable.. i.e.

function getChangedDate() { changedDate = (language == english)?getEnglishChangedDate():getFrenchChangedDate() ; }

Another solution I'd like is to use JavaScript Classes. This would give you the ability to keep the method naming, but you'd still need some logic...

function getChangedDate() { changedDate = (language == english)?English.getChangedDate():French.getChangedDate() ; }

I'd say the best practise would be to use a server side based solution, unless this is not available to you.

There are several things you can do... for example it is possible to dynamically add and remove html nodes from your page using javascript. But I find this isn't particularly quick (sometimes you need to wait before you try and call a newly loaded script - using setTimeout or similar).

But I think there are a couple of simple solutions to your problem - either using some kind of server side technology to decide on language and draw the page to fit... or write a global interface to your language files. So you only have one function getChangedDate() , but this calls a specific getChangedDate() based on a global variable.. i.e.

function getChangedDate() { changedDate = (language == english)?getEnglishChangedDate():getFrenchChangedDate() ; }

Another solution I'd like is to use JavaScript Classes. This would give you the ability to keep the method naming, but you'd still need some logic...

function getChangedDate() { changedDate = (language == english)?English.getChangedDate():French.getChangedDate() ; }

I'd say the best practise would be to use a server side based solution, unless this is not available to you.

Thanks for your reply,
It's worth studying your suggestion

This article has been dead for over six months. Start a new discussion instead.