Closed Bug 18324 Opened 25 years ago Closed 25 years ago

[4.xP] </SCRIPT> in a document.write ending SCRIPT element

Categories

(Core :: DOM: HTML Parser, defect, P3)

x86
Linux
defect

Tracking

()

VERIFIED WONTFIX

People

(Reporter: dbaron, Assigned: harishd)

References

()

Details

Attachments

(2 files)

DESCRIPTION:  I don't see any nice way around this bug, but it is a 4.xP issue.
The following used to work:

<SCRIPT>
...
document.write("</SCRIPT>");
...
</SCRIPT>

According to the specs, of course, the first occurrence of "</" should end a
SCRIPT element (CDATA content model).  I believe that you do that in standard
mode (do you?), and in compatibility mode you wait for "</SCRIPT>".  However,
that's clearly not what NN 4.x did, since the above code worked.

I don't know whether you want to try and figure out how to fix this or whether
you want to just not bother.  (I, of course, don't mind the latter.  The code is
horribly broken.)

STEPS TO REPRODUCE:
 * load http://timb.simplenet.com/dom/

ACTUAL RESULTS:
 * the lower frame starts off with a bit of script (all strung together without
proper line breaks, of course).

EXPECTED RESULTS:
 * the script shouldn't be seen, it should be executed

DOES NOT WORK CORRECTLY ON:
 * Linux, apprunner, 1999-11-08-08-M11

WORKS CORRECTLY ON:
 * NN 4.61 Linux

ADDITIONAL INFORMATION:
This bug spun off of the incorrect reopening of bug 11141.
Assignee: rickg → harishd
One for you.
Looks like in Nav.4x contents, within script, wrapped inside a "comment" is
actually thought of as a comment, and hence never get to see the mis-used
</SCRIPT>.  However, if the contents are no wrapped inside the comment then
Gecko and Nav.4.x behave exactly the same.

Fixing this would force me to treat script content as NON CDATA, which I'm not
willing to do.  The work around, for this problem, would be to split the
</SCRIPT>, within document.write, into two pieces. That is, something like

document.write("</+SCRIPT>");

I understand that this work around is not completely per spec. but this is the
maximum that I could do!!! :)
The correct way to do this is of course:

document.write("<\/SCRIPT>");

... and this applies to *any* end-tag.

I filed this bug so you could decide whether you wanted to support this
behavior...
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → WONTFIX
Marking the bug WONTFIX.
Status: RESOLVED → VERIFIED
verified
this is an exact duplicate of 7590
(OCD-style cross referencing) "fixed" for quirks mode in bug 26857
*** Bug 311128 has been marked as a duplicate of this bug. ***
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: