/    Sign up×
Community /Pin to ProfileBookmark

Javascript local -> online loading error?

When I run the following html on my computer everything works great.

[code]
<html>
<head>

</head>
<body>
<script type=”text/javascript” src=”md5.js”></script>
<p><strong>Convert text to MD5</strong></p>

<form>
Word: <br />
<input type=”text” name=”input” size=”40″ /><input type=”button” onclick=”hash.value = hex_md5(input.value)” value=”MD5″ /><br /><br />
MD5:<br />
<input type=”text” name=”hash” size=”40″ /></form><br />
</body>
</html>
[/code]

But when I upload the exact code to my web-server, the script does not appear to work at all. I honestly don’t know why this is happening. Yes, I uploaded the .js file with it and yes they are in the same directory. Sometimes it works right too. So I was thinking maybe it had to do with calling the javascript function right after calling to load it? I honestly don’t know what the problem could be. Any help would be greatly appreciateed.

to post a comment
JavaScript

9 Comments(s)

Copy linkTweet thisAlerts:
@phpnoviceApr 14.2006 — With what platform/browser/version are you testing?
Copy linkTweet thisAlerts:
@balloonbuffoonApr 14.2006 — Can you post a link to the JS file?

--Steve
Copy linkTweet thisAlerts:
@waffleauthorApr 14.2006 — Tested with Firefox 1.5.0.1 and IE 6.0 on a Windows XP platform and Linux server.
Copy linkTweet thisAlerts:
@waffleauthorApr 14.2006 — var hexcase = 0;
var chrsz = 8;
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
function core_md5(x, len)
{
x[len &gt;&gt; 5] |= 0x80 &lt;&lt; ((len) % 32);
x[(((len + 64) &gt;&gt;&gt; 9) &lt;&lt; 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for(var i = 0; i &lt; x.length; i += 16)
{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
}
return Array(a, b, c, d);
}
function md5_cmn(q, a, b, x, s, t)
{
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
}
function md5_ff(a, b, c, d, x, s, t)
{
return md5_cmn((b &amp; c) | ((~b) &amp; d), a, b, x, s, t);
}
function md5_gg(a, b, c, d, x, s, t)
{
return md5_cmn((b &amp; d) | (c &amp; (~d)), a, b, x, s, t);
}
function md5_hh(a, b, c, d, x, s, t)
{
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
function md5_ii(a, b, c, d, x, s, t)
{
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}
function safe_add(x, y)
{
var lsw = (x &amp; 0xFFFF) + (y &amp; 0xFFFF);
var msw = (x &gt;&gt; 16) + (y &gt;&gt; 16) + (lsw &gt;&gt; 16);
return (msw &lt;&lt; 16) | (lsw &amp; 0xFFFF);
}
function bit_rol(num, cnt)
{
return (num &lt;&lt; cnt) | (num &gt;&gt;&gt; (32 - cnt));
}
function str2binl(str)
{
var bin = Array();
var mask = (1 &lt;&lt; chrsz) - 1;
for(var i = 0; i &lt; str.length * chrsz; i += chrsz)
bin[i&gt;&gt;5] |= (str.charCodeAt(i / chrsz) &amp; mask) &lt;&lt; (i%32);
return bin;
}
function binl2hex(binarray)
{
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var str = "";
for(var i = 0; i &lt; binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i&gt;&gt;2] &gt;&gt; ((i%4)*8+4)) &amp; 0xF) +
hex_tab.charAt((binarray[i&gt;&gt;2] &gt;&gt; ((i%4)*8 )) &amp; 0xF);
}
return str;
}
Copy linkTweet thisAlerts:
@waffleauthorApr 14.2006 — Okay, nevermind, it is fixed now. I used a direct link to the file on my server instead of a local link. For some reason that wasn't working somehow. Thanks for your help though. ?
Copy linkTweet thisAlerts:
@phpnoviceApr 14.2006 — You mean you had a physical [U]path[/U] coded instead of an absolute or relative [U]URL[/U]? Physical path requests to the server from a client are normally not allowed. However, either an absolute (e.g., http://www.mydomain.com/folder/page.htm) or a relative (e.g., /folder/page.htm) URL should always work.
Copy linkTweet thisAlerts:
@waffleauthorApr 14.2006 — No, I had /files/javascript/md5.js It wasnt working so I changed it to ww.url.com/files/javascript/md5.js and it worked fine. I'm not sure why as the file was in the main folder, but it's not really an issue now.
Copy linkTweet thisAlerts:
@phpnoviceApr 14.2006 — No, I had /files/javascript/md5.js [/QUOTE]
OK. Seems to me I've seen this before, too. It would seem logical that one could specify a relative URL which starts with a forward-slash and expect that this means to start at the web site's root folder and work down from there. Instead, it seems you can only start such a relative URL from the folder in which your page lies. This means that if you must back up to a higher-level folder then you must use the ".." reference for as many times as needed.

Thus, if your page is in the root folder, your relative URL to the js file should be:

files/javascript/md5.js

If your page is one level down from the root folder, and not in the "files" folder, then your relative URL would be:

../files/javascript/md5.js

etc.
Copy linkTweet thisAlerts:
@waffleauthorApr 14.2006 — I know how file structures work. It was in the root directory and it was a link to files/javascript/md5.js. The thing that confused me was that if I did
&lt;a href="files/javascript/md5.js" title="JS Link"&gt;Javascript Link&lt;/a&gt;
it linked fine to the javascript. But when i did
<i>
</i>&lt;script type="text/javascript" src="files/javascript/md5.js"&gt;&lt;/script&gt;

It would not load the js. But it is fixed now with a direct link.
×

Success!

Help @waffle spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.28,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...