permission denied to set property window.onunload

K

kaeli

Hey guys,

This error occurs ONLY in Netscape 7.0. Not in 7.1. So, I think it's a
bug. Buuuut...

Has anyone had this problem or know of a fix?

When attempting to have an onunload function set with "window.onload=",
the error comes up
"permission denied to set property window.onunload"

I can't find a thing on this one. Setting it with the normal "<body
onunload" works fine. But isn't a great thing for me to do, since the
onload is part of a very large menu script.

Here's a test page to illustrate the problem. Netscape 7.0 has a problem
with this. 7.1 does not. IE is fine, too.

<html>
<head>
<title> New Document </title>
<script>
window.onunload="alert('bye bye');"
</script>
</head>

<body>
test
</body>
</html>


-------------------------------------------------
~kaeli~
Jesus saves, Allah protects, and Cthulhu
thinks you'd make a nice sandwich.
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace
-------------------------------------------------
 
G

Grant Wagner

kaeli said:
Hey guys,

This error occurs ONLY in Netscape 7.0. Not in 7.1. So, I think it's a
bug. Buuuut...

Has anyone had this problem or know of a fix?

When attempting to have an onunload function set with "window.onload=",
the error comes up
"permission denied to set property window.onunload"

I can't find a thing on this one. Setting it with the normal "<body
onunload" works fine. But isn't a great thing for me to do, since the
onload is part of a very large menu script.

Here's a test page to illustrate the problem. Netscape 7.0 has a problem
with this. 7.1 does not. IE is fine, too.

<html>
<head>
<title> New Document </title>
<script>
window.onunload="alert('bye bye');"
</script>
</head>

<body>
test
</body>
</html>

Don't assign a string as an event handler.

window.onunload = function() {
alert('bye, bye');
}

works, as would:

function myOnunload() {
alert('bye, bye');
}
window.onunload = myOnunload;

--
| Grant Wagner <[email protected]>

* Client-side Javascript and Netscape 4 DOM Reference available at:
*
http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/frames.html

* Internet Explorer DOM Reference available at:
*
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

* Netscape 6/7 DOM Reference available at:
* http://www.mozilla.org/docs/dom/domref/
* Tips for upgrading JavaScript for Netscape 7 / Mozilla
* http://www.mozilla.org/docs/web-developer/upgrade_2.html
 
K

kaeli

Don't assign a string as an event handler.


The original didn't.
This was just for testing.

You don't want to see the whole thing. :)

Here's the one line from the original source, in case it makes sense by
itself.

ScLdAgainWin.onunload=UnLoaded;

(UnLoaded is a defined function - again, this code works fine in all
other target browsers, including IE5+, NN6.2, and NN7.1)

If you want the whole source, it's HVMenu from dynamicdrive.com. I've
been using it for some time, but it was only tested up to NN6.2. I
checked for updates, but there were none. I may decide to contact the
author, but if this is a browser bug, I don't want to bother.

-------------------------------------------------
~kaeli~
Jesus saves, Allah protects, and Cthulhu
thinks you'd make a nice sandwich.
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace
-------------------------------------------------
 
R

Richard Cornford

ScLdAgainWin.onunload=UnLoaded;
<snip>

Is this assigning a reference to a function defined in the current
window to a property of a pop-up?

Richard.
 
K

kaeli

<snip>

Is this assigning a reference to a function defined in the current
window to a property of a pop-up?

No, the code is running from a frameset. It is addressing the main
frame. That doesn't matter, though, since it doesn't work in a regular
page, either.

It doesn't work no matter where you put it, which was what I was showing
in the little test page I posted. It won't let you assign anything to
onunload with script, it has to be in the body tag. Again, this works in
every browser I need it to work in except NN7.0. NN7.1 it works fine.
NN7.0 throws a security exception.


-------------------------------------------------
~kaeli~
Jesus saves, Allah protects, and Cthulhu
thinks you'd make a nice sandwich.
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace
-------------------------------------------------
 
R

Richard Cornford

It doesn't work no matter where you put it, which was what I
was showing in the little test page I posted. It won't let
you assign anything to onunload with script, it has to be in
the body tag.

As Grant said, your original test page wasn't going to work because it
was assigning a string instead of a function. But testing:-

<html>
<head>
<title></title>
<script>
function UnLoaded(){alert('bye bye');}
window.onunload=UnLoaded;
</script>
</head>
<body>
test
</body>
</html>

- worked with (Windows) Netscape 7.00 & 7.02 both from the local file
system and over an HTTP server.

If all else fails, have you considered branching on
window.addEventListener and using that for onunload if available?

Richard.
 
K

kaeli

As Grant said, your original test page wasn't going to work because it
was assigning a string instead of a function. But testing:-

<html>
<head>
<title></title>
<script>
function UnLoaded(){alert('bye bye');}
window.onunload=UnLoaded;
</script>
</head>
<body>
test
</body>
</html>

- worked with (Windows) Netscape 7.00 & 7.02 both from the local file
system and over an HTTP server.

Not on ours.
I have 2 users who test for me, and they have 7.0, and this gave the
same error.

I wonder if it's something in their settings...
Neither has a user.js file that I could find. I know people can turn off
onunload with a setting in that file, but neither of them have that.
If all else fails, have you considered branching on
window.addEventListener and using that for onunload if available?

I already did a workaround, but it was icky. I put the function call in
the onunload event of each body tag of every damn page (thank goodness
for dreamweaver templates!).

addeventlistener for onunload did the same error for their browsers.

This wouldn't be that big of a deal if we didn't have a ton of Netscape
users. *sigh*

-------------------------------------------------
~kaeli~
Jesus saves, Allah protects, and Cthulhu
thinks you'd make a nice sandwich.
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace
-------------------------------------------------
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top