Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Javascript (http://www.velocityreviews.com/forums/f68-javascript.html)
-   -   Can I assign an external value to a JS variable? (http://www.velocityreviews.com/forums/t877762-can-i-assign-an-external-value-to-a-js-variable.html)

Harry Stangel 06-05-2004 11:42 PM

Can I assign an external value to a JS variable?
 
Noble reader,

My goal is to obtain the current time on the web server and display it in
the client's browser. I want the server time displayed independent of the
client's current clock setting, but use the client clock to refresh the
displayed time every second. To compensate for drift, I want to
periodically calibrate the page with the server time by refreshing the page,
say every ten minutes or so.

I have a servlet '/apps/clock' that returns the current (server) time as
XML, i.e.

<milliseconds>1086478233003</milliseconds>

I can strip away the XML tags with XSLT, leaving the value '1086478233003'.

I need a way to read the value into a JavaScript variable, so I can use it
to create a Date object, increment the variable, etc.

So, does anyone know a way to assign an external value to a JS variable?

Best,
Harry




Ray Morgan 06-06-2004 10:09 PM

Re: Can I assign an external value to a JS variable?
 
"Harry Stangel" <hstangel@pacbell.net> wrote:
>I have a servlet '/apps/clock' that returns the current (server) time as
>XML, i.e.
>
><milliseconds>1086478233003</milliseconds>
>
>I can strip away the XML tags with XSLT, leaving the value '1086478233003'.


Have the servlet do the stripping server-side, and output the
JavaScript you need. For example, in PHP, it could look something
like:

<?php
# Assume $mil is set to the time in milliseconds via
# microtime() or something similar
print "<script type='text/javascript'>\n";
print "var d = new Date($mil);\n";
print "</script>\n";
?>

When the HTML page loads, you'll have var d set to the value of the
server time.

--
Ray Morgan
http://Fares-Fair.com/

Harry Stangel 06-08-2004 12:42 AM

Re: Can I assign an external value to a JS variable?
 
Okay, I know better than to answer my own post, but I discovered this
method:

var request;
var xml;
var milliseconds;

// Mozilla technique
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
request.open("POST", TIMEHOST_URL, false); // we POST to ensure
the
// response is not
cached
request.send(null);
xml = request.responseXML;
if (xml) {
milliseconds =
Number(xml.getElementsByTagName("milliseconds").it em(0).textContent);
}
}
// IE/ActiveX technique
else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.open("POST", TIMEHOST, false);
request.send();
xml = request.responseXML;
if (xml) {
milliseconds =
Number(xml.getElementsByTagName("milliseconds").it em(0).text);
}
}
}

Peace,
Harry

"Harry Stangel" <hstangel@pacbell.net> wrote in message
news:%Tswc.65839$LO7.45733@newssvr29.news.prodigy. com...
> Noble reader,
>
> My goal is to obtain the current time on the web server and display it in
> the client's browser. I want the server time displayed independent of the
> client's current clock setting, but use the client clock to refresh the
> displayed time every second. To compensate for drift, I want to
> periodically calibrate the page with the server time by refreshing the

page,
> say every ten minutes or so.
>
> I have a servlet '/apps/clock' that returns the current (server) time as
> XML, i.e.
>
> <milliseconds>1086478233003</milliseconds>
>
> I can strip away the XML tags with XSLT, leaving the value

'1086478233003'.
>
> I need a way to read the value into a JavaScript variable, so I can use it
> to create a Date object, increment the variable, etc.
>
> So, does anyone know a way to assign an external value to a JS variable?
>
> Best,
> Harry
>
>
>





All times are GMT. The time now is 12:18 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.