Closed
Bug 301869
Opened 19 years ago
Closed 19 years ago
Javascript objects not initializing in Deer Park 2 (but work in DP1 and earlier)
Categories
(Firefox :: General, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: bucky, Unassigned)
References
()
Details
(Keywords: regression)
Attachments
(2 files)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b3) Gecko/20050712 Firefox/1.0+
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b3) Gecko/20050712 Firefox/1.0+
When rendered with Deer Park alpha 1 or earlier, the page in question at
http://cms2.graphtek.com/example.html hides the textarea and replaces it with a
groovy widgets to help author rich text.
Starting with Deer Park alpha 2, the Javascript fails with an error. The suite
of Javascript scripts aren't of my making (they are instances of the "Xinha"
editor: xinha.python-hosting.com), so ability to diagnose exactly what might be
happening isn't going to be amazing, but I think that additional javascripts
which are to be loaded by document.write("<script src='..'></script>") calls
aren't being loaded--or else aren't loaded by the time window.onload fires.
In any event, Javascript which was once working (well, I cooked up the page to
demonstrate a problem I'm having with a non-public page) is now failing.
Reproducible: Always
Steps to Reproduce:
1. Visit http://cms2.graphtek.com/example.html with Firefox 1.0.x or Deer Park
alpha 1 and see it work.
2. Visit http://cms2.graphtek.com/example.heml with Deer Park alpha 2 and see it
fail
3. 1 and 2 can be repeated on Linux and in XP
Updated•19 years ago
|
Component: JavaScript Console → General
Keywords: regression
QA Contact: javascript.console → general
Version: unspecified → Trunk
Comment 1•19 years ago
|
||
I am also seeing the behaviour as described by steps one & two above, & can
reproduce with latest official Xinha demo too
Comment 2•19 years ago
|
||
This also happens with
http://xinha.gogo.co.nz/xinha-nightly/examples/full_example.html
Comment 3•19 years ago
|
||
This is a blocker for Xinha.
Comment 4•19 years ago
|
||
*** Bug 310182 has been marked as a duplicate of this bug. ***
Comment 5•19 years ago
|
||
(reprinting bug 310182 comment 0 here for reference)
The Xinha text editor (which uses Midas / design-mode) works in FFx 1.0.x but
not in FFx 1.5 (Gecko/20050920 Firefox/1.4). To my untrained eye, it looks like
the problem is that the ternary operator in the body frame's source isn't being
evaluated properly, but I may be wayyy offbase.
Either way, somewhat concerning that JS that worked in previous version doesn't
work in the new version.
Comment 6•19 years ago
|
||
Wit the url testcase, I get a js error:
Error: CharacterMap is not defined
Source File: http://xinha.gogo.co.nz/xinha-nightly/htmlarea.js
Line: 5380
what also is important to know maybe is that this:
<script type="text/javascript"
src="/includes/xinha/plugins/character-map.js"></script>
gives a 404 not found error for the character-map.js
So maybe it works when you add that file back to the testcase?
Reporter | ||
Comment 7•19 years ago
|
||
I was getting ready for a mea culpa and a thankful mopping of my brow, but alas,
adding a character-map.js file (a dummy, containing 'var foo="";') didn't do any
good.
It is still the case that Deer Park Alpha 1 and earlier executes this javascript
without errors, but Deer Park Alpha 2 and later produce an error.
Comment 8•19 years ago
|
||
Yes, but you probably need to add the character-map.js from xinha:
http://code.campware.org/projects/campsite/file/tags/CAMPSITE_2_3_1/campsite/implementation/management/javascript/xinha/plugins/CharacterMap/character-map.js?rev=3932
It can very well be that older Mozilla versions wrongfully not gave a js error,
while current versions do (I suspect that is the case in this bug).
Or you could try removing 'CharacterMap', from this code:
xinha_plugins = xinha_plugins ? xinha_plugins :
[
'CharacterMap',
];
since you don't seem to use it.
Reporter | ||
Comment 9•19 years ago
|
||
Aha. But that's just the problem. NONE of the Xinha plugins seem to work
anymore. Plugins are "registered" as part of a window.onload() method (actually
THE window.onload method, by my reading of the code--I am not a primary Xinha
contributor).
They are loaded EITHER by a line like this:
document.write("<script type='text/javascript' src='" + plugin_file +
"'></script>");
OR by code like this:
var script = document.createElement("script");
script.type = "text/javascript";
script.src = src;
head.appendChild(script);
The only error I get in my javascript console is "CharacterMap is not defined".
CharacterMap is the first function defined in
includes/xinha/plugins/CharacterMap/character-map.js, which should have been
loaded by one of the methods above.
This USED to work, but now has STOPPED working. Because of the text of the
error, I am merely presuming that the loading method is the thing which has
stopped working.
Hopefully, something in my description turns a light on for somebody. I really,
really want Xinha to work when the new Firefox comes out, and I really really
want to fix whatever it is that needs to be fixed, wherever it is that this
change needs to occur.
Comment 10•19 years ago
|
||
Alan, if you could attach a zipped file from your example, that would be great.
It would allow me to minimise the testcase to see what's going on.
Reporter | ||
Comment 11•19 years ago
|
||
I diddled the paths a little, since the original used absolute paths. Some of
the images referenced by the .css file are missing (wget didn't find them, and
I didn't bother). Several Xinha plug-ins have been deleted to keep it under the
acceptable attachment size. However, the behavior in question (works in Mozilla
suite, etc., but not in Firefox's most recent beta) is demonstrable here.
Comment 12•19 years ago
|
||
Thanks Alan!
Well, basically I can reduce the issue to this.
Older builds added an extra newline at the beginning in this case. This was
fixed with the fix for bug 111816.
So the code in htmlarea.js needs to be changed to get this working again.
In HTMLArea.cloneObject = function(obj)
This:
if (obj.constructor.toString().indexOf("function Function(") == 1) {
you should change into this:
if (obj.constructor.toString().indexOf("function Function(") >= 0) {
Then all should work well again.
Comment 13•19 years ago
|
||
You should also change this line:
if (obj.constructor.toString().indexOf("function Array(") == 1) {
into this:
if (obj.constructor.toString().indexOf("function Array(") >= 0) {
Probably the author of htmlarea should also be notified about this, I guess.
Depends on: 111816
Reporter | ||
Comment 14•19 years ago
|
||
Thanks!
I'm not sure if "fixed" is correct, since ultimately this wasn't a Firefox
error, but I now understand the problem and solution.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Updated•19 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•19 years ago
|
Status: REOPENED → RESOLVED
Closed: 19 years ago → 19 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•