Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > trapping JS errors

Reply
Thread Tools

trapping JS errors

 
 
CAFxX
Guest
Posts: n/a
 
      08-22-2003
i wrote this code that is meant to check if the client browser generates an
error when executing the blendtrans statement.
unfortunately it's not working as i wished.
this page is called check.asp and the site main page is called index.asp
all the site's pages will use the JS cookie to decide what script will have
to be used, the one using the blendtrans method or another one that simply
shows/hides the obj.
it's a mix of JS and ASP.
thanks to everyone for your help.

<% if request("js") = false or request.cookies("js") = false then %>
<% response.cookies("js") = false %>
<html>
<head>
<script language=javascript>
function go_on() {
redirect = eval(self.location="index.asp");
return true;
}
</script>
</head>
<body onLoad="go_on()">
</body>
</html>
<% else %>
<html>
<head>
<title="N-Side - Checking browser">
<link href="Gatherer.css" rel="stylesheet" type="text/css">
<script language=javascript>
function fadein(obj) {
myObj = eval(obj);
window.onError = noJS();
myObj.filters.blendTrans.apply();
myObj.style.visibility = "visible";
myObj.filters.blendTrans.play();
redirect = eval(self.location='index.asp');
return true;
}
function noJS() {
redirect = eval(self.location='check.asp?js=false'>;
return true;
}
</script>
</head>
<body onLoad="fadein(test)" onError="noJS()">
<div id="test" style="visibility: hidden;">
</body>
<% end if %>


 
Reply With Quote
 
 
 
 
Lasse Reichstein Nielsen
Guest
Posts: n/a
 
      08-22-2003
"CAFxX" <(E-Mail Removed)> writes:

> i wrote this code that is meant to check if the client browser generates an
> error when executing the blendtrans statement.


How is it supposed to check that?

> unfortunately it's not working as i wished.


What did you wish? What really happened?

> this page is called check.asp and the site main page is called index.asp
> all the site's pages will use the JS cookie to decide what script will have
> to be used, the one using the blendtrans method or another one that simply
> shows/hides the obj.
> it's a mix of JS and ASP.


You could just have posted the HTML, as posted to the client. The
error should be in that part. In this case, the ASP part is so small
and unintrusive that it is not a problem

> <script language=javascript>


<script type="text/javascript">
The type attribute is mandatory and the language attribute is deprecated
in HTML 4.

> function go_on() {
> redirect = eval(self.location="index.asp");


This will probably redirect the page before the error appears, but
it is an error. You don't need eval for anything on this page, and
probably not on any other page you make.
Just use:
self.location.href="index.asp";

If the expression inside eval hadn't redirected the page, it would
evaluate to "index.asp", which you then try to evaluate as a
Javascript expression. There is no object called "index", so that gives
an error.

> return true;


You won't get to return either, the page is already gone.

> }


> <script language=javascript>


Again type="text/javascript"

> function fadein(obj) {
> myObj = eval(obj);


You don't need eval here. The value of "obj" is an object, and using
eval on that just gives itself again. If obj had been a string, it
would probably still not be what you wanted.

> window.onError = noJS();


The on-event handlers are not subcapitalized in Javascript.
You wrote onError in the HTML tag, but that is because HTML is not
case sensitive. Javascript is.

You don't want to call the noJS function now, just assign it as a
handler.

window.onerror = noJS;

I am not familiar with the onerror handler for windows, so I'll assume
you know what you are doing. Ditto for blendTrans.

> myObj.filters.blendTrans.apply();
> myObj.style.visibility = "visible";
> myObj.filters.blendTrans.play();
> redirect = eval(self.location='index.asp');


Again:
self.location.href="index.asp";

> return true;
> }
> function noJS() {
> redirect = eval(self.location='check.asp?js=false'>;

and again
self.location.href="check.asp?js=false";

> return true;
> }


> <body onLoad="fadein(test)" onError="noJS()">


This will only work in very few browsers, those that make a
global variable, "test", referring to the element with id="test".

<body onload="fadein(document.getElementById('test'))" onerror="noJS()">

> <div id="test" style="visibility: hidden;">


Good luck
/L
--
Lasse Reichstein Nielsen - http://www.velocityreviews.com/forums/(E-Mail Removed)
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
trapping errors in function call syntax Avi Kak Python 6 02-13-2006 09:25 PM
Trapping 'compile' errors when aspx page is rendered. =?Utf-8?B?QmlsbA==?= ASP .Net 4 03-29-2005 04:05 AM
Trapping errors in ASP Eitan ASP General 6 01-13-2005 12:59 PM
Trapping an errors to a fixed page (ASP) Eitan ASP General 3 01-12-2005 01:48 PM
Trapping JNI errors Aaron Fude Java 4 06-02-2004 08:43 AM



Advertisments