469,362 Members | 2,470 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,362 developers. It's quick & easy.

permission denied to set property window.onunload


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
-------------------------------------------------
Jul 20 '05 #1
6 15654
kaeli wrote:
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 <gw*****@agricoreunited.com>

* Client-side Javascript and Netscape 4 DOM Reference available at:
*
http://devedge.netscape.com/library/...ce/frames.html

* Internet Explorer DOM Reference available at:
*
http://msdn.microsoft.com/workshop/a...ence_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-deve...upgrade_2.html
Jul 20 '05 #2
In article <3F**************@agricoreunited.com>,
gw*****@agricoreunited.com enlightened us with...
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
-------------------------------------------------
Jul 20 '05 #3
"kaeli" <ti******@NOSPAM.comcast.net> wrote in message
news:MP************************@nntp.lucent.com...
<snip>
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.
Jul 20 '05 #4
In article <bo*******************@news.demon.co.uk>,
Ri*****@litotes.demon.co.uk enlightened us with...
"kaeli" <ti******@NOSPAM.comcast.net> wrote in message
news:MP************************@nntp.lucent.com...
<snip>
ScLdAgainWin.onunload=UnLoaded;

<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
-------------------------------------------------
Jul 20 '05 #5
"kaeli" <ti******@NOSPAM.comcast.net> wrote in message
news:MP************************@nntp.lucent.com...
<snip>
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.
Jul 20 '05 #6
In article <bo*******************@news.demon.co.uk>,
Ri*****@litotes.demon.co.uk enlightened us with...

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
-------------------------------------------------
Jul 20 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

By using this site, you agree to our Privacy Policy and Terms of Use.