Closed
Bug 179918
Opened 22 years ago
Closed 22 years ago
<script FOR="window"> elements don't load in Mozilla
Categories
(Core :: DOM: Core & HTML, defect, P1)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla1.3beta
People
(Reporter: markus.pawella, Assigned: jst)
References
()
Details
(Keywords: regression, Whiteboard: [HAVE FIX] [ Ignore Comment #1!!! ])
Attachments
(1 file)
3.30 KB,
patch
|
sicking
:
review+
bzbarsky
:
superreview+
asa
:
approval1.3b+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Build Identifier:
i use a javascript which reloads the frameset of the website. in actual builds
it doesn't work. if you click on a link it doesn't jump to the requested link.
Instead it reloads the default frameset. Furthermore it replaces the orginal
adress (http://www.pawella.com/) with the request page
(http://www.pawella.com/index.html?Neulich/Neulich06Mitte.htm) instead of
keeping the original adress.
The site worked fine with Phoenix 0.4. Problem occurs on Phoenix build
20021111, 20021112 and Mozilla build 20021108
Reproducible: Sometimes
Steps to Reproduce:
1.go to http://www.pawella.com
2. click picture "negative ...", "Neulich - 500 Euro" or any other link
3.
Actual Results:
reloads the original frameset. replaces adressline with requested page instead
of keeping the original adressline.
Expected Results:
load requested page. keep adressline.
here's the discussed sript:
index.html
// Sicheres Webseite
if (self != top)
{
top.location.href=self.location.href;
}
var frameset_geladen = "okay";
function laden()
{
if(self.location.search.length > 0)
{
var Search_Laenge = self.location.search.length;
var info_url = self.location.search.substring(1,Search_Laenge);
//self.Mitte.location.href = "../"+info_url;
self.Mitte.location.href = info_url;
}
}
Comment 1•22 years ago
|
||
Browser, not engine ---> Layout
Confirming bug with Mozilla trunk binary 20021107xx on WinNT.
When I load the site, it always comes up blank!
I don't know why this is. It loads just fine in Mozilla's
Tools > Web Development > DOM Inspector.
In Mozilla itself, each frame at the site loads blank for me
even if I load them as individual URLs:
http://www.pawella.com/Start/Startmenue.htm
http://www.pawella.com/Start/StartLogo.htm
Once again, each of these loads fine in the DOM Inspector.
Don't know what's going on here -
Assignee: rogerl → other
Status: UNCONFIRMED → NEW
Component: JavaScript Engine → Layout
Ever confirmed: true
QA Contact: pschwartau → ian
Comment 2•22 years ago
|
||
IGNORE Comment #1; something was wrong with my Mozilla process at the
time I tried the site. The site DOES load fine for me; am now looking
at the links at the site and will report back -
Whiteboard: [ Ignore Comment #1!!! ]
Comment 3•22 years ago
|
||
The function shown above, laden(), is apparently not recognized in
Mozilla. The function is called from the frameset onload handler.
Yet when I load the site, this error appears in Mozilla's
Tools > Web Development > JavaScript Console:
Error: laden is not defined
Does it have something to do with the <script> tag used?
<script type="text/javascript" language="JavaScript" FOR="window">
I don't recognize the FOR attribute. Reassigning to DOM Level 0
for further analysis. Another idea: could this be a case of implicit
document.open()'s clobbering the JS context (bug 114461)?
Assignee: other → jst
Component: Layout → DOM Level 0
QA Contact: ian → desale
Comment 4•22 years ago
|
||
More trouble: the global variable defined just above laden()
is also not recognized in Mozilla:
var frameset_geladen = "okay";
To see this, load the site in IE6 and in Mozilla, and enter
this javascript:URL:
javascript: alert(frameset_geladen);
In IE6, you get "okay"; in Mozilla you get an error in the JS Console:
Error: frameset_geladen is not defined
This is the direct cause of the reported behavior here. To see this,
use Mozilla's Tools > Web Development > JavaScript Debugger. When we
click on a link in the menu at the site (e.g. "Neulich" > "500 Euro"),
this function gets called in http://www.pawella.com/Scripte/Scripts.js:
function sichereseite()
- 47 {
- 48 pfad = self.location.href;
- 49 pos = pfad.lastIndexOf('/');
- 50 pfad = pfad.substring(pos+1,pfad.length);
- 51 var site = "../index.html?"+verz+pfad;
- 52 if (top.frameset_geladen + "" != "okay")
53 {
- 54 if(document.images)
- 55 top.location.replace(site);
56 else
- 57 top.location.href = site ;
58 }
59 }
The check at line 52 fails, since |top.frameset_geladen| == |undefined|.
We fall into line 55, which resets the location. In this example, to:
055: top.location.replace(site);
0001: site
$[0] = [string] "../index.html?Neulich/Neulich10Mitte.htm"
In IE6 this doesn't happen, because |top.frameset_geladen| == "okay".
Comment 5•22 years ago
|
||
SUMMARY
Top-level variables and function definitions are not being recognized
by Mozilla at this site: e.g. the variable |frameset_geladen|.
This is causing problems later on, when menu items are clicked.
This top-level script is contained in a <script> tag in the <head>
above the <frameset>. The tag looks like this:
<script type="text/javascript" language="JavaScript" FOR="window">
Comment 6•22 years ago
|
||
Again, could this be related to bug 114461?
"document.open() clobbers JS context???"
Regarding to Phils comment #3 I checked the for="window" attribute. If I delete
the attribute it seems to work fine. Please check this with
http://www.pawella.com/index2.html which has no for="window" attribute.
http://www.pawella.com/index.html still has the attribute and it doesn't work.
Index2.html works fine with Phoenix original 0.4 and build 20021112 and Mozilla
20021108.
Index.html works only with Phoenix 0.4. For me it looks like that this behavior
is introduced after the release of Phoenix 0.4 which is a Mozilla 1.2b build.
The actual builds are from the Mozilla 1.3a trunk.
Comment 8•22 years ago
|
||
Confirming what markus.pawella@gmx.de found in Comment #7:
http://www.pawella.com/index2.html, which has no for="window" attribute
on its <script> tag, loads without any errors in the JavaScript Console
and functions perfectly. So it is this attribute that is at issue.
Resummarizing. Is this an HTML Parser instead of a DOM issue?
Why don't we load scripts that have this attribute?
Summary: javascript which loads a frameset if not loaded doesn't work with act. builds → <script FOR="window"> elements don't load in Mozilla
Comment 9•22 years ago
|
||
Probably related to the recent checkin to support <script for="...">, see bug
174404.
Comment 10•22 years ago
|
||
Recall Comment #7:
http://www.pawella.com/index.html still has the for="window" attribute
http://www.pawella.com/index2.html which has NO for="window" attribute.
With a Mozilla trunk build 2002-11-15, the latter site works, but
the former doesn't (get "Error: laden is not defined" in JS Console
when you load, which leads to the errors analyzed above, etc.)
Note bug 174404 shows a checkin date of 2002-11-08, yet we still see
this problem with today's trunk build -
![]() |
||
Comment 11•22 years ago
|
||
*** Bug 181538 has been marked as a duplicate of this bug. ***
![]() |
||
Comment 12•22 years ago
|
||
To rick.
Assignee: jst → rpotts
Severity: normal → major
Keywords: regression
OS: Windows XP → All
Hardware: PC → All
![]() |
||
Comment 13•22 years ago
|
||
*** Bug 181759 has been marked as a duplicate of this bug. ***
![]() |
||
Updated•22 years ago
|
Flags: blocking1.3b?
Assignee | ||
Updated•22 years ago
|
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → mozilla1.3beta
Regression. Let's try to get this resolved for 1.3beta. It might not be difficult.
Flags: blocking1.3b? → blocking1.3b+
Assignee | ||
Comment 16•22 years ago
|
||
Only treat a script tag as an event handler if it has *both* "for" and "event"
attributes.
Assignee | ||
Updated•22 years ago
|
Whiteboard: [ Ignore Comment #1!!! ] → [HAVE FIX] [ Ignore Comment #1!!! ]
Assignee | ||
Updated•22 years ago
|
Attachment #112800 -
Flags: superreview?(bzbarsky)
Attachment #112800 -
Flags: review?(bugmail)
![]() |
||
Updated•22 years ago
|
Attachment #112800 -
Flags: superreview?(bzbarsky) → superreview+
Comment on attachment 112800 [details] [diff] [review]
Proposed fix
r=sicking
Attachment #112800 -
Flags: review?(bugmail) → review+
Assignee | ||
Updated•22 years ago
|
Attachment #112800 -
Flags: approval1.3b?
Comment 18•22 years ago
|
||
Comment on attachment 112800 [details] [diff] [review]
Proposed fix
a=asa (on behalf of drivers) for checkin to 1.3beta.
Attachment #112800 -
Flags: approval1.3b? → approval1.3b+
Assignee | ||
Comment 19•22 years ago
|
||
Fix checked in. FIXED.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
![]() |
||
Comment 20•22 years ago
|
||
This doesn't fully fix the problem.... see bug 191579
Assignee | ||
Comment 21•22 years ago
|
||
This fix did indeed fix the regression that was introduced by the plugin events
changes, but there are still problems with <script event=onload for=window>.
Those problems are however not related to this regression.
You need to log in
before you can comment on or make changes to this bug.
Description
•