$dt->blog(); $dt->randomness(); en-us Feed.class.php by -dt- http://blog.thedt.net// dr horrible http://blog.thedt.net/post/9/dr_horrible rawr!<br /> <br /> Joss Whedon has created a new tv show type thing, a musical blog, it has three episodes<br /> <br /> <a href="http://www.drhorrible.com/">http://www.drhorrible.com/</a><br /> <br /> its pure awesome go watch now gogogogogogogogogo<br /> <br /> <img src="http://www.drhorrible.com/images/banners/banner2.gif"/> Wed, 16 Jul 2008 22:05:43 America/Los_Angeles dt http://blog.thedt.net/post/9/dr_horrible rawr http://blog.thedt.net/post/8/rawr Boo! ;o did I scare you?<br /> <br /> Yes, dt is still alive =p and hes on holidays (though it doesn't feel like them ;<)<br /> <br /> I was going to write something important but.... *shrugs*<br /> <br /> <br /> SHOWER TIME!<br /> <br /> <span style="color:red">*me runs away to get clean</span> Thu, 10 Jul 2008 22:48:27 America/Los_Angeles dt http://blog.thedt.net/post/8/rawr IE's new meta tag http://blog.thedt.net/post/7/IE's_new_meta_tag Rawr dt isn't happy.<br /> <br /> Yes, this is about the evil browser IE.<br /> <br /> Microsoft's latest dodgyness with IE is introducing a new meta tag (or http header) to specify the rendering engine to use<br /> <br /> Now the list of dodgyness <img src='http://blog.thedt.net//content/plugins/emoticons//msn_grin.gif' alt=':d'/><br /> [list]<br /> [*] It promotes unstandardness<br /> [*] This is what the doctype is for, to choose quirks mode, standards etc<br /> [*] Imagine if this was implemented back in IE2, IE would then include the engines for IE2-8, which is insane... imagine how hard it would be maintaining all these engines.<br /> [*] Why update anything, just set your rendering engine to IE2 and forget about your website. (oh and forget about other better browsers) yay for killing progress<br /> [*] This will kill new browsers (in the long term), because they not only have to implement the current standards, but the behavior of every older rendering engine to have web compatibility.<br /> [*] IE8 won't support Acid2 on release, because the Acid2 site doesn't choose a rendering engine :---o<br /> [*] embedded content, what happens if a widget is designed for the latest IE/Firefox/Opera, and then the host webpage is turned onto IE3 computability?, this just means developers will have to support rendering engines way past their time <img src='http://blog.thedt.net//content/plugins/emoticons//msn_sad.gif' alt=':('/><br /> [/list]<br /> <br /> <br /> Links to blog posts which explain this issue way better than me <img src='http://blog.thedt.net//content/plugins/emoticons//msn_tongue.gif' alt=':P'/><br /> <a href="http://robert.accettura.com/archives/2008/01/22/meta-stupidity/">http://robert.accettura.com/archives/2008/01/22/meta-stupidity/</a><br /> <a href="http://lists.w3.org/Archives/Public/public-html/2007Apr/0279.html">http://lists.w3.org/Archives/Public/public-html/2007Apr/0279.html</a><br /> <a href="http://ventnorsblog.blogspot.com/2008/01/meta-better.html">http://ventnorsblog.blogspot.com/2008/01/meta-better.html</a><br /> <a href="http://weblogs.mozillazine.org/doron/archives/2008/01/whats_up_doctype.html">http://weblogs.mozillazine.org/doron/archives/2008/01/whats_up_doctype.html</a><br /> <br /> <br /> edit:<br /> <br /> pft list bbcode broken<br /> <br /> <span style="color:red">*me will fix later...</span> Wed, 23 Jan 2008 06:53:53 America/Los_Angeles dt http://blog.thedt.net/post/7/IE's_new_meta_tag new dtblog feature http://blog.thedt.net/post/6/new_dtblog_feature New dt blog feature <img src='http://blog.thedt.net//content/plugins/emoticons//msn_grin.gif' alt=':d'/> editing comments without being a registered member <img src='http://blog.thedt.net//content/plugins/emoticons//msn_happy.gif' alt=':)'/><br /> <br /> =p though... its not like anyone comments here anyway.... o; Tue, 15 Jan 2008 22:04:29 America/Los_Angeles dt http://blog.thedt.net/post/6/new_dtblog_feature New year http://blog.thedt.net/post/5/New_year So its another year another year of nothingness and uni : <<br /> <br /> dt is currently working on big things though....<br /> <br /> <span style="font-weight: bold;">Happy New Year crazy internet people</span><br /> <br /> <random><br /> I've decided if i ever have a daughter her name will be <a href="http://www.thinkbabynames.com/meaning/0/Arianwen">Arianwen</a> because its an awesome name <img src='http://blog.thedt.net//content/plugins/emoticons//msn_happy.gif' alt=':)'/><br /> </random><br /> <br /> Mon, 31 Dec 2007 01:51:49 America/Los_Angeles dt http://blog.thedt.net/post/5/New_year Messenger Plus Script update checking tutorial http://blog.thedt.net/post/4/Messenger_Plus_Script_update_checking_tutorial <span style="font-weight: bold;">This is a tutorial on Script version checking and updating</span><br /> tutorial by -dt- (Matt Labrum)<br /> <br /> <br /> So you've made a script, and you want to make sure your users have the most current version of your script.<br /> Well you've come to the right place. This tutorial is about exactly that!<br /> <br /> Now I'm going to assume a few things<br /> 1) you're not a complete noob<br /> 2) you're not segosa<br /> 3) you have a script (If you don't just create a new one)<br /> 4) the script must have a ScriptInfo.xml file<br /> 5) somewhere online where you can upload files<br /> <br /> Now that thats out of the way, we can get to the fun part <img src='http://blog.thedt.net//content/plugins/emoticons//msn_grin.gif' alt=':d'/><br /> <br /> A few reference documents for later:<br /> XMLHttpRequest - <a href="http://msdn2.microsoft.com/en-us/library/ms535874.aspx">http://msdn2.microsoft.com/en-us/library/ms535874.aspx</a><br /> XMLDomDocument - <a href="http://msdn2.microsoft.com/en-us/library/ms757878.aspx">http://msdn2.microsoft.com/en-us/library/ms757878.aspx</a><br /> <br /> <br /> Now open up your ScriptInfo.xml file it should look something like the one shown below<br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="font-weight:bold;color:#000;" title="html/html/tag/start"><ScriptInfo</span><span style="color:#008000;" title="html/html/tag"> xmlns</span><span style="color:#008000;" title="html/html/tag/symbol">=</span><span style="color:#933;" title="html/html/string/start">"</span><span style="color:#933;" title="html/html/string">urn:msgplus:scripts</span><span style="color:#933;" title="html/html/string/end">"</span><span style="color:#008000;" title="html/html/tag"> xmlns:xsi</span><span style="color:#008000;" title="html/html/tag/symbol">=</span><span style="color:#933;" title="html/html/string/start">"</span><span style="color:#933;" title="html/html/string">http://www.w3.org/2001/XMLSchema-instance</span><span style="color:#933;" title="html/html/string/end">"</span><span style="color:#008000;" title="html/html/tag"> xsi:schemaLocation</span><span style="color:#008000;" title="html/html/tag/symbol">=</span><span style="color:#933;" title="html/html/string/start">"</span><span style="color:#933;" title="html/html/string">urn:msgplus:scripts PlusScripts.xsd</span><span style="color:#933;" title="html/html/string/end">"</span><span style="font-weight:bold;color:#000;" title="html/html/tag/end">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Information</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Name</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">updateExample</span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Name</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Description</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">This script is an example script to </span><span style="color:#933;" title="javascript/javascript/method">test</span><span style="color:#000;" title="javascript/javascript"> update checking</span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Description</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">AboutUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">http</span><span style="color:#008000;" title="javascript/javascript/symbol">:</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">blog.thedt.net</AboutUrl></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Version</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#c6c;" title="javascript/javascript/num/dbl">1.00</span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Version</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Information</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">ScriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> </pre><br /> <br /> <br /> You should notice the Version tag, this is one of the core tags needed in our update checker. You should also notice that there aren't any tags to specify an update location.<br /> This is a problem since our update checker needs to find the new version information somewhere, so lets add a <Update> section in our ScriptInfo.xml and add some updater tags<br /> <br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="font-weight:bold;color:#000;" title="html/html/tag/start"><ScriptInfo</span><span style="color:#008000;" title="html/html/tag"> xmlns</span><span style="color:#008000;" title="html/html/tag/symbol">=</span><span style="color:#933;" title="html/html/string/start">"</span><span style="color:#933;" title="html/html/string">urn:msgplus:scripts</span><span style="color:#933;" title="html/html/string/end">"</span><span style="color:#008000;" title="html/html/tag"> xmlns:xsi</span><span style="color:#008000;" title="html/html/tag/symbol">=</span><span style="color:#933;" title="html/html/string/start">"</span><span style="color:#933;" title="html/html/string">http://www.w3.org/2001/XMLSchema-instance</span><span style="color:#933;" title="html/html/string/end">"</span><span style="color:#008000;" title="html/html/tag"> xsi:schemaLocation</span><span style="color:#008000;" title="html/html/tag/symbol">=</span><span style="color:#933;" title="html/html/string/start">"</span><span style="color:#933;" title="html/html/string">urn:msgplus:scripts PlusScripts.xsd</span><span style="color:#933;" title="html/html/string/end">"</span><span style="font-weight:bold;color:#000;" title="html/html/tag/end">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Information</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Name</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">updateExample</span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Name</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Description</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">This script is an example script to </span><span style="color:#933;" title="javascript/javascript/method">test</span><span style="color:#000;" title="javascript/javascript"> update checking</span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Description</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">AboutUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">http</span><span style="color:#008000;" title="javascript/javascript/symbol">:</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">blog.thedt.net</AboutUrl></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Version</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#c6c;" title="javascript/javascript/num/dbl">1.00</span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Version</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">Update</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">ScriptInfoUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">http</span><span style="color:#008000;" title="javascript/javascript/symbol">:</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">yoursite.com/updateExample/ScriptInfo.xml</ScriptInfoUrl></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">PlscLocation</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript">http</span><span style="color:#008000;" title="javascript/javascript/symbol">:</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">yoursite.com/updateExample/updateExample.plsc</PlscLocation></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">ReleaseNotes</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol">-</span><span style="color:#000;" title="javascript/javascript"> First release </span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">ReleaseNotes</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#000;" title="javascript/javascript">DateReleased</span><span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#11e;" title="javascript/javascript/num/int">10</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#11e;" title="javascript/javascript/num/int">11</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#11e;" title="javascript/javascript/num/int">2007</span><span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">DateReleased</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Update</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">Information</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> <span style="color:#008000;" title="javascript/javascript/symbol"><</span><span style="color:#008000;" title="javascript/javascript/symbol">/</span><span style="color:#000;" title="javascript/javascript">ScriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">></span> </pre><br /> <br /> <br /> Ok so now we have alot more information for our script to use, but I bet you're looking at me like "dt what the hell are all those tags" well <img src='http://blog.thedt.net//content/plugins/emoticons//msn_sad.gif' alt=':('/> I'll explain each one<br /> <br /> ScriptInfoUrl - the location of the updated scriptInfo.xml (our checker will download this file and compare it to the current one)<br /> PlscLocation - Plsc to download if our update checker detects that we need updating<br /> ReleaseNotes - optional, the changelog to display to the user<br /> DateReleased - optional, the date the new version was released<br /> <br /> <br /> Now i bet you're wondering how the update checker will work. Well, inside your script's OnEvent_Initialize you'll trigger UpdateChecker.Check(), which will then download the update xml (gets this value from Update/ScriptInfoUrl).<br /> Once the updateXML is downloaded it will trigger UpdateChecker.parseUpdate() which then compares the local ScriptInfo.xml <version> tag with the downloaded ScriptInfo.xml <version> tag.<br /> If it's a newer version then the script will display a dialog to the user asking them if they want to update, if they say yes then your script will download the plsc file and run it.<br /> <br /> Diagram of how all this fits together<br /> <a href="http://random.thedt.net/tutorial/scriptUpdating/tuturialDiagram.jpg"><img width="650" height="210" src="http://random.thedt.net/tutorial/scriptUpdating/tuturialDiagram.jpg"/><br /> (click for a bigger image)<br /> </a><br /> Now to make the javascript for the above process<br /> <br /> Create a new file called UpdateChecker.js<br /> Inside that file we'll create an Object called UpdateChecker, with the functions we need<br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> UpdateChecker </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Check</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> UpdateChecker</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">prototype</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Check</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">This function will parse the local XML file and trigger the download the update ScriptInfo.xml</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">ParseScriptInfo</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xml</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">returns an object with the parsed ScriptInfo information </span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">AskUser</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">GetNewPlsc</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> </pre><br /> <br /> Now we need to start filling the functions and making it do something <img src='http://blog.thedt.net//content/plugins/emoticons//msn_grin.gif' alt=':d'/><br /> <br /> We will start with the checking code<br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Check</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">This function will parse the local XML file and trigger the download the update ScriptInfo.xml</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> scriptInfo </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ParseScriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">will return an object in the form of {"Version" : 1.0, "UpdateUrl" : "http://.../scriptInfo.xml", "ReleaseNotes" : "", "DateReleased" : ""}</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">details</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">add the details to the object, incase the script wants to use this for something</span> <span style="color:#000;" title="javascript/javascript"> Interop</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Call</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Wininet.dll</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">DeleteUrlCacheEntryW</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">UpdateUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">make sure theres no cached version of the update</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> xmlhttp </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> ActiveXObject</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Microsoft.XMLHTTP</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment"> Create a new XMLHttp request object to download our update ScriptInfo.xml</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment"> see http://msdn2.microsoft.com/en-us/library/ms536648.aspx for details on the open method</span> <span style="color:#000;" title="javascript/javascript"> xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">open</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">GET</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">UpdateUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">true</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">open a new xmlhttp request to the updateUrl and set it to asynchronous operation</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> thisd </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">create a reference to the current scope to use in the callback</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">see http://msdn2.microsoft.com/en-us/library/ms534308.aspx for more information on the onreadystatechange callback</span> <span style="color:#000;" title="javascript/javascript"> xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">onreadystatechange</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">if</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">readyState</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#11e;" title="javascript/javascript/num/int">4</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> updateInfo </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> thisd</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ParseScriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">responseXML</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">parses the update scriptInfo and returns an object</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">if</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">updateInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Version</span> <span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Version</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">if version is newer</span> <span style="color:#000;" title="javascript/javascript"> Debug</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Trace</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Update is newer</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">else</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#000;" title="javascript/javascript"> Debug</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Trace</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Update Is older</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#000;" title="javascript/javascript"> xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">send</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> </pre><br /> <br /> Now this can't do anything on its own because it requires the object from ParseScriptInfo, so we will implement that and then test the script <br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">ParseScriptInfo</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xml</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">returns an object with the parsed ScriptInfo information </span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">if</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">typeof</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xml</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">undefined</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">if no xml is passed, we will load the local script info</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> xml </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> ActiveXObject</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Microsoft.XMLDOM</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">async</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">false</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">load</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">MsgPlus</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ScriptFilesPath</span> <span style="color:#008000;" title="javascript/javascript/symbol">+</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#006;font-weight:bold;" title="javascript/javascript/double_string/esc">\\</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">+</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">ScriptInfo.xml</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">object to return</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> ob </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Version</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#11e;" title="javascript/javascript/num/int">0</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">UpdateUrl</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">PlscLocation</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">ReleaseNotes</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">DateReleased</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">get the Update node values</span> <span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">UpdateUrl</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/ScriptInfoUrl</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">PlscLocation</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/PlscLocation</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ReleaseNotes</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/ReleaseNotes</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">DateReleased</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/DateReleased</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> version </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Version</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">convert the version to a real number, parseInt chops off the decimal points so we cheat and * it by 1</span> <span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Version</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> version </span><span style="color:#008000;" title="javascript/javascript/symbol">*</span> <span style="color:#11e;" title="javascript/javascript/num/int">1</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">return</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">return our object</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> </pre><br /> <br /> The full code so far<br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> UpdateChecker </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Check</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> UpdateChecker</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">prototype</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Check</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">This function will parse the local XML file and trigger the download the update ScriptInfo.xml</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> scriptInfo </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ParseScriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">will return an object in the form of {"Version" : 1.0, "UpdateUrl" : "http://.../scriptInfo.xml", "ReleaseNotes" : "", "DateReleased" : ""}</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">details</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">add the details to the object, incase the script wants to use this for something</span> <span style="color:#000;" title="javascript/javascript"> Interop</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Call</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Wininet.dll</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">DeleteUrlCacheEntryW</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">UpdateUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">make sure theres no cached version of the update</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> xmlhttp </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> ActiveXObject</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Microsoft.XMLHTTP</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment"> Create a new XMLHttp request object to download our update ScriptInfo.xml</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment"> see http://msdn2.microsoft.com/en-us/library/ms536648.aspx for details on the open method</span> <span style="color:#000;" title="javascript/javascript"> xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">open</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">GET</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">UpdateUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">true</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">open a new xmlhttp request to the updateUrl and set it to asynchronous operation</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> thisd </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">create a reference to the current scope to use in the callback</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">see http://msdn2.microsoft.com/en-us/library/ms534308.aspx for more information on the onreadystatechange callback</span> <span style="color:#000;" title="javascript/javascript"> xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">onreadystatechange</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">because this refers the function we have to use thisd when refering to our class</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">if</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">readyState</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#11e;" title="javascript/javascript/num/int">4</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> updateInfo </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> thisd</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ParseScriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">responseXML</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">parses the update scriptInfo and returns an object</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">if</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">updateInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Version</span> <span style="color:#008000;" title="javascript/javascript/symbol">></span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Version</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">if version is newer</span> <span style="color:#000;" title="javascript/javascript"> Debug</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Trace</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Update is newer</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">else</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#000;" title="javascript/javascript"> Debug</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Trace</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Update Is older</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#000;" title="javascript/javascript"> xmlhttp</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">send</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">ParseScriptInfo</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xml</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">returns an object with the parsed ScriptInfo information </span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">if</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">typeof</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">xml</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">undefined</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">if no xml is passed, we will load the local script info</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> xml </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> ActiveXObject</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Microsoft.XMLDOM</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">async</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">false</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">load</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">MsgPlus</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ScriptFilesPath</span> <span style="color:#008000;" title="javascript/javascript/symbol">+</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#006;font-weight:bold;" title="javascript/javascript/double_string/esc">\\</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">+</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">ScriptInfo.xml</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">object to return</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> ob </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Version</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#11e;" title="javascript/javascript/num/int">0</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">UpdateUrl</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">PlscLocation</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">ReleaseNotes</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">DateReleased</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Name</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">get the Update node values</span> <span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">UpdateUrl</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/ScriptInfoUrl</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">PlscLocation</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/PlscLocation</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ReleaseNotes</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/ReleaseNotes</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">DateReleased</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Update/DateReleased</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Name</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Name</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> version </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> xml</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">selectSingleNode</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">//Version</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">text</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">convert the version to a real number, parseInt chops off the decimal points so we cheat and * it by 1</span> <span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Version</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> version </span><span style="color:#008000;" title="javascript/javascript/symbol">*</span> <span style="color:#11e;" title="javascript/javascript/num/int">1</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">return</span><span style="color:#000;" title="javascript/javascript"> ob</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">return our object</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">AskUser</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">GetNewPlsc</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span><span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> </pre><br /> <br /> <br /> Now if you want to test the above code, add the following to your OnEvent_Initialize<br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#000;" title="javascript/javascript"> OnEvent_Initialize</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> uc </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> UpdateChecker</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> </pre><br /> <br /> Make sure you have a copy of your ScriptInfo.xml uploaded at the location specified at ScriptInfoUrl, otherwise the code will fail.<br /> <br /> Now run the script, if your uploaded ScriptInfo.xml file has a greater version than the local ScriptInfo.xml it should display "Update is newer"<br /> <br /> <br /> Ok, so now we need to do something if the update is newer, we will call the UpdateChecker.AskUser() method to ask the user if they want to update.<br /> We will just display a messagebox with yes or no buttons, in your own script I recommend that you create a fancy GUI <img src='http://blog.thedt.net//content/plugins/emoticons//msn_happy.gif' alt=':)'/><br /> <br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">AskUser</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">updateInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">we will just display a simple yes/no messagebox, in your own version you could take this a step futher and display a pretty plus GUI for it, but thats outside the scope of this tutorial</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> message </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">A new Script Update has been detected for </span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">+</span><span style="color:#000;" title="javascript/javascript"> updateInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Name</span> <span style="color:#008000;" title="javascript/javascript/symbol">+</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string"> Do you want to update?</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> result </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> Interop</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Call</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">User32</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">MessageBoxW</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#11e;" title="javascript/javascript/num/int">0</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span><span style="color:#000;" title="javascript/javascript"> message</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Script Update</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#11e;" title="javascript/javascript/num/int">4</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/multi_comment/start">/*</span><span style="color:#888;font-style:italic;" title="javascript/javascript/multi_comment"> MB_YESNO </span><span style="color:#888;font-style:italic;" title="javascript/javascript/multi_comment/end">*/</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">if</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">result </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#11e;" title="javascript/javascript/num/int">6</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">a result of 6 means that the user pressed "yes"</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">GetNewPlsc</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">updateInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">PlscLocation</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">call the GetNewPlsc function to download the file</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> </pre><br /> <br /> <br /> And finally we need to create the GetNewPlsc function to open the Plsc file.<br /> Now in your own scripts you should use MsgPlus.DownloadFile to download the plsc and then use <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> ActiveXObject</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">WScript.Shell</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Run</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/single_string/start">'</span><span style="color:#f00;" title="javascript/javascript/single_string">"downloadlocation"</span><span style="color:#f00;" title="javascript/javascript/single_string/end">'</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> </pre><br /> to run it<br /> but in this example we will simply execute the url<br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">GetNewPlsc</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#000;" title="javascript/javascript">url</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">function to download the plsc</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">execute the url</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> ActiveXObject</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">WScript.Shell</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Run</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/single_string/start">'</span><span style="color:#f00;" title="javascript/javascript/single_string">"</span><span style="color:#f00;" title="javascript/javascript/single_string/end">'</span> <span style="color:#008000;" title="javascript/javascript/symbol">+</span><span style="color:#000;" title="javascript/javascript"> url </span><span style="color:#008000;" title="javascript/javascript/symbol">+</span> <span style="color:#f00;" title="javascript/javascript/single_string/start">'</span><span style="color:#f00;" title="javascript/javascript/single_string">"</span><span style="color:#f00;" title="javascript/javascript/single_string/end">'</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span> </pre><br /> <br /> Ok so lets look at the code so far.<br /> It should download the new ScriptInfo.xml and compare the versions, if theres an update then it will open the PlscLocation<br /> <br /> <br /> <span style="font-weight: bold;">Code</span>: <pre style="background-color:#ffc;border:1px solid #cc9;"> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> UpdateChecker </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Check</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#008000;" title="javascript/javascript/symbol">}</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span><span style="color:#000;" title="javascript/javascript"> UpdateChecker</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#933;" title="javascript/javascript/method">prototype</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Check</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span> <span style="color:#008000;" title="javascript/javascript/symbol">:</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">function</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">{</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">This function will parse the local XML file and trigger the download the update ScriptInfo.xml</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> scriptInfo </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">ParseScriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">will return an object in the form of {"Version" : 1.0, "UpdateUrl" : "http://.../scriptInfo.xml", "ReleaseNotes" : "", "DateReleased" : ""}</span> <span style="color:#393;font-weight:bold;" title="javascript/javascript/object">this</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">details</span> <span style="color:#008000;" title="javascript/javascript/symbol">=</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">add the details to the object, incase the script wants to use this for something</span> <span style="color:#000;" title="javascript/javascript"> Interop</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">Call</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Wininet.dll</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span> <span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">DeleteUrlCacheEntryW</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">,</span><span style="color:#000;" title="javascript/javascript"> scriptInfo</span><span style="color:#008000;" title="javascript/javascript/symbol">.</span><span style="color:#559;" title="javascript/javascript/oodynamic">UpdateUrl</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascript/symbol">;</span> <span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment/start">//</span><span style="color:#888;font-style:italic;" title="javascript/javascript/single_comment">make sure theres no cached version of the update</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">var</span><span style="color:#000;" title="javascript/javascript"> xmlhttp </span><span style="color:#008000;" title="javascript/javascript/symbol">=</span> <span style="color:#000;font-weight:bold;" title="javascript/javascript/keyword">new</span><span style="color:#000;" title="javascript/javascript"> ActiveXObject</span><span style="color:#008000;" title="javascript/javascript/symbol">(</span><span style="color:#f00;" title="javascript/javascript/double_string/start">"</span><span style="color:#f00;" title="javascript/javascript/double_string">Microsoft.XMLHTTP</span><span style="color:#f00;" title="javascript/javascript/double_string/end">"</span><span style="color:#008000;" title="javascript/javascript/symbol">)</span><span style="color:#008000;" title="javascript/javascrip