Closed Bug 56800 Opened 24 years ago Closed 22 years ago

bbc.co.uk - JavaScript error in news "ticker"

Categories

(Tech Evangelism Graveyard :: English Other, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: john, Assigned: tristan)

References

()

Details

(Whiteboard: [bugscape: 4358][wrmb][PROPRIETARY-DOM][havefix][havecontact])

Attachments

(3 files)

When opening the main BBC News page (http://news.bbc.co.uk/), I have seen this
error for a long time:

JavaScript error:
http://news.bbc.co.uk/ticker/ticker.stm line 68: document.body.children has no
properties

The ticker then displays "LATEST:" but doesn't run. It works on NS4 (Linux and
Windows) and IE4/5. Is this bad BBC JavaScript, or something else?
The ticker is a java applet, and java isn't part of mozilla.

The ticker is in an IFRAME tag.
The IFRAME has an src attribute which calls ticker.stm.  For some reason
Netscape 4 doesn't use the src attribute, and it doesn't start ticker.stm.
Mozilla does start ticker.stm.  I'm not sure what is does, but part of it is:

          if(!document.body.children.incoming.children.properties)
          {
...
          }
It is this that is generating the javascript error in mozilla.


The part of the main page is (slightly modified):
<IFRAME SRC="ticker.stm"
        WIDTH=315
        HEIGHT=30
        SCROLLING="no"
        FRAMEBORDER=0
        MARGINHEIGHT=0
        MARGINWIDTH=0>
<APPLET CODE="lightticker2.class"
        CODEBASE="http://news.bbc.co.uk/java/"
        WIDTH=300
        HEIGHT=50>
<PARAM NAME=bgcolor VALUE="255,255,255">
<PARAM NAME=linkcolor VALUE="255,0,0">
<PARAM NAME=textcolor VALUE="0,0,0">
<PARAM VALUE="252" NAME="SectionID">
<PARAM VALUE="3" NAME="LanguageID">
<PARAM NAME=RegionID VALUE=-1>
<PARAM NAME=SubRegionID VALUE=-1>
</APPLET>
</IFRAME>
Just checked with appletviewer from JDK-1.2.2 (thanks for sending the code).
Applet starts (but can't connect outside due to Java restrictions) so that's
fine. Java plugin for Mozilla (java.xpi from Netscape6 PR_3) is installed here,
but the applet doesn't appear to start at all. With trace level set to "5" in
the Java console, there is no output. Other Java applets, elsewhere, do seem to
work.
Reassigning to OJI for triage -
Assignee: rogerl → edburns
Component: Javascript Engine → OJI
QA Contact: pschwartau → shrir
Hi Joe,

Can you try this one?  Thanks,

Ed
Assignee: edburns → joe.chou
OOPS - it looks like the reason this doesn't work in Mozilla is that

                   http://news.bbc.co.uk/ticker/ticker.stm

uses non-supported HTML syntax like
               
                   document.all
                   document.body
                   document.body.children


This will run fine in IE4, which supports this. In NN4.x, you get the error

                   "document.body has no properties" 

in the JavaScript Console at line 69 or so in the file. One thing that has
changed in the JavaScript engine is that syntax errors will now prevent ANY 
JavaScript functions from being bound or any code from being compiled. 
This is according to the ECMA-262 spec. So any syntax "errors" like this 
have a much more far-reaching effect than they did in NN4.x, which simply
stopped code execution at the point the error was found. Now, the code 
will not even compile and you don't get any functionality from it.


I will attach the HTML file below - reassigning to the Evangelism component.
Assignee: joe.chou → blakeross
Component: OJI → Evangelism
QA Contact: shrir → zach
confirming bug.
Status: UNCONFIRMED → NEW
Ever confirmed: true
*** Bug 59391 has been marked as a duplicate of this bug. ***
-> evangelism@telocity.com for my evangelism bugs.

removing the now-depreciated evangelism-related keywords.

setting platform to All.
Assignee: blakeross → evangelism
Hardware: PC → All
Same problem with http://www.natwest.com/, my bank's home page. I can't read any
of their pages because of this. Note their browser detection Javascript on this
page: is it broken, and worth me complaining to them?
This page doesn't work:

http://www.virtualdub.org/virtualdub_kb.html

Error loading URL javascript:flip('v14c_release'): 805303f5
JavaScript error:
http://www.virtualdub.org/virtualdub_kb.html line 44: document.all has no properties

Also see this behaviour for http://news.bbc.co.uk/ and http://www.natwest.com/
on RedHat 6.0- and 6.2-based systems ...
How do I cope with webmasters who, on hearing about bugs like this, tell me "If
everyone else's browser works, its yours that's broken"? Looks like this
"document.body" nonsense is a de-facto "standard", and I'm worried that a
well-intentioned minority (such as Mozilla users, like me, are) won't change
this. Is it possible to turn up the volumen of the evangelism effort (can I send
emails?); or is it possible to get Mozilla to support these widely-used
corruptions of the DOM?

I'd like to see Mozilla support these "non-standard" extensions, simply because
I can't see either of these large corporations (BBC and NatWest) changing what
to them is a _working_ web page, simply to satisfy a very small minority (a
_growing_ minority, true).  For banking with NatWest, I have to reboot my
dual-boot PC and use IE5 ... not very satisfactory.
Mozilla and  NS 6 WILL not support these because they are not standards 
compliant. If you MUST bring this up AGAIN (it has happend many times 
and failed), please do it in n.p.m.layout or something and give everyone a 
chance to talk. The best way to get people to comply is to send them an 
email. http://sites.netscape.net/ekrock/standards.html is a good resource 
to point people to, as it makes it really easy to fix broken tags. Eric may be 
able to help you with other ways as well. Below are 2 templates that Blake 
and I use to evangelize sites. They should be enough to help you out with 
material to say:

------Template 1---------
Greetings.

    Your site, at http://faculty-l.slis.kent.edu/~nlilly, is not in
compliance with the W3C spec (at http://www.w3c.org/), and thus will not 
be
displayed as you intended in the Mozilla browser and other apps based 
around
its parsing technology (most notably Netscape 6.0 in the forseeable 
future).
Specifically, the site uses a propietary technology of Netscape Navigator
4.x -- layers - which are not part of the HTML 4.01 spec, and therefore will
not be supported in the fully standards-compliant Mozilla.  Note also that
once Netscape 4.x is replaced by Netscape 6.0 (within the next couple of
months), there will be no current browser product on the market which
supports layer technology.

     However, there are alternate ways to achieve the same effect that
layers have through web standards, by utilizing the Document Object 
Model
(DOM), CSS, and HTML 4.01.  Please see
http://sites.netscape.net/ekrock/standards.html for more information about
this, and for a list of other proprietary features that Mozilla will not be
supporting.  Note that we are fully willing to help you through the
transitioning of your site to conform to W3C guidelines; if you have any
questions, just ask.  After all, in the end, we believe this change will be
most beneficial to you, as your site will work properly in Netscape's
next-generation browser, in Mozilla, and in the many programs and 
appliances
taking advantage of Mozilla's open-source parsing and layout capabilities.

     Information about the Mozilla browser can be found at
http://www.mozilla.org/. Likewise, Netscape 6 information is available at
http://home.netscape.com/browsers/6/index.html. If you have any 
questions,
don't hesitate to contact me

Thank you for your effort in supporting web standards.

----------
Blake Ross
Mozilla Quality Assurance
Standards Compliance Division

---------Template 2-----------
note that this is slightly out of date!

Dear webmaster,

As a Mozilla evangelism member, I would like to inform you that someone 
has marked bug number XXXX in our bug tracking system at 
bugzilla.mozilla.org invalid and has added the needevang keyword. This 
means that the site uses  MS IE4/5 DOM features, Nav4 Layer DOM 
features, or the LAYER/ILAYER tags which will not be supported in Mozilla, 
Mozilla based browsers or Netscape 6! This means that your page will not 
load properly in Netscape 6! We want to make sure as many sites as 
possible can be seen in these browsers so we need you!

All you have to do is:

Go to http://sites.netscape.net/ekrock/standards.html and see what you 
need to do to make your site work with these browsers. 

Make any changes you need

If you can, download a Mozilla build from http://www.mozilla.org and test 
that your fixed page loads ok. (if you can't do this don't worry about it, we 
can do it for you)

IMPORTANT: reply to this message to say that you have updated your site 
so we can make sure that all is ok and resolve the bug.

Thanks for helping to make sure that your site is accessible to as many 
people as possible

Zach Lipton
zach@zachlipton.com
Mozilla evangelist


Hope this helps you out.

Zach
Reassigning evangelism bugs to bclary@netscape.com.
Assignee: evangelism → bclary
The BBC haven't touched this in seven months, have they?

As a UK reader, can I send their webteam a polite email along the lines
suggested? I don't want to seem part of an "attack" force so am asking first if
anyone else has recently contacted them.
John,

As far as I know no one else has contacted them recently.  

Please write them a note explaining how the use of proprietary JavaScript such
as document.body.children will *only* work in Internet Explorer and will not
work in Mozilla and browsers based upon it such as Netscape 6. Include the URL
of this bug so that they will be able to see what we are talking about and where
we are coming from. The feedback pages give newsonline.siteproblems@bbc.co.uk as
the appropriate contact address. 

You can include references to documents as given earlier in the bug, and also
include http://www.mozilla.org/docs/web-developer/ and
http://devedge.netscape.com/evangelism/.  We have an update to the devedge
evangelism site coming up in a few days, so you might want to wait until that is
available later this week... before Thurday 5/17.

Be nice, professional and polite. Please cc: me Bob Clary <bclary@netscape.com>
on the letter. 

When you have sent the email, please note it in the bug as well as summarize
(but don't attach) any response you get back from them so we know what their
position is regarding Mozilla/Netscape 6.

They may also have other problems with Java Applets that we haven't yet detected
so we will probably have to work through several issues with them before we get
them fully working in Mozilla/NS6.

Let's get the ball rolling and see what kind of response we get.

Thanks,
Bob


For info, following my previous remarks about http://www.natwest.com/ not
working properly either, I have noticed that in the last few weeks, when I
connected to their site with Mozilla, a popup notice said something along the
lines of "We are currently testing compatability with Netscape 6, but it might
not all be working yet".  It doesn't really work, but it doesn't seem to be
quite so broken as it used to be ...  :-)
Sent this in.

Dear Sir/Madam,

I am writing to inform you that because of your use of proprietary Javascript,
the Java News Ticker on http://news.bbc.co.uk/ will not work in Mozilla or
browsers based upon this product such as Netscape 6.

A bug report has been filed at http://bugzilla.mozilla.org/show_bug.cgi?id=56800
which details this problem on your site, and we would appreciate it if you could
read this and respond by altering your site code to be more standards-compliant.

Some links on this and similar matters:

http://sites.netscape.net/ekrock/standards.html
http://www.mozilla.org/docs/web-developer/
http://devedge.netscape.com/evangelism/

Thank you for your time; if you require any assistance or advice, please do not
hesitate to contain myself, or Bob Clary at Netscape <bclary@netscape.com>.
OS: Linux → All
I have received a very positive response and we can expect the news ticker code
at the bbc to be updated 'within a few weeks'.  This is very reasonable
considering the other demands on a developer's time.

Accepting the bug to note that contact has been made. Setting target milestone
to 0.9.3 for followup.
Status: NEW → ASSIGNED
Whiteboard: [PROPRIETARY-DOM]
Target Milestone: --- → mozilla0.9.3
still has problem 6/25
-> Intl Team
Assignee: bclary → nitot
Status: ASSIGNED → NEW
QA Contact: zach → momoi
Changed target milestone to 0.9.4 for reminder.
This bug is also in Bugscape, #4358.

copying comments from Bugscape application : 
<<
Received e-mail response from "Adrian Skardhamar, Production Manager, BBC News
and Sport Online". 

Saying this : "Thank you for your email. We have a new version of the ticker in
test right now and it will be released shortly. We are very interested in
ensuring that our site works well with all browsers. To that end we have tried
on many occaisions to contact someone at Netscape with regards to future plans,
releases etc but have never had a reply. Are you the person to talk to? I have
lots of questions you may be able to answer."

Asked for a specific date for this new ticker to be released, stating that I
wanted to be alerted when the new version was put on-line.



------- Additional Comments From Tristan Nitot 2001-07-23 10:30 -------

Got answer from the webmaster, Adrian : 
<<As I said, the ticker is in testing at present, so I don't want to give you
an exact date. We are still toying with launching a purely DHTML version and
dropping the Java version entirely, but we may have to phase this in. I will
let you know once it's live. >>

Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.3 → mozilla0.9.4
Adding webmaster's contact details :
Adrian Skardhamar <adrian.skardhamar@bbc.co.uk>
Component: Evangelism → European
Product: Browser → Tech Evangelism
Target Milestone: mozilla0.9.4 → ---
Version: other → unspecified
Changed QA contact to christopher.
QA Contact: momoi → christopher
*** Bug 97535 has been marked as a duplicate of this bug. ***
See also bug 97535 which is dependent and a dupe on this one.  The site recently
has begun using style="display:none" which hinders viewing at all.  Presumably
the JS is to unhide this, but it doesn't quite get it right because of the
proprietary DOM.
chris, let's give the webmaster a chance to correct the errors.
The symptom might be the same but the underlying reason for it
might have changed in the meantime. I see <DIV id="incoming" Style 
{display:none}> as you say. 
P1
Priority: P3 → P1
Migrate topembed key word from duplicate
Keywords: topembed
Component: European → West Europe
Keywords: topembed
Summary: JavaScript error in news "ticker" → news.bbc.co.uk - JavaScript error in news "ticker"
Keywords: topembed
Summary: news.bbc.co.uk - JavaScript error in news "ticker" → WRMB: news.bbc.co.uk - JavaScript error in news "ticker"
Whiteboard: [PROPRIETARY-DOM] → [bugscape: 4358][PROPRIETARY-DOM]
Blocks: 64833
my bad, moving wrmb to whiteboard
Keywords: topembed
Summary: WRMB: news.bbc.co.uk - JavaScript error in news "ticker" → news.bbc.co.uk - JavaScript error in news "ticker"
Whiteboard: [bugscape: 4358][PROPRIETARY-DOM] → [bugscape: 4358][wrmb][PROPRIETARY-DOM]
downgrading to P3.
Priority: P1 → P3
Update:  still doesn't work in latest Mozilla build (2001112303)
Sorry, should have been 2001112803!

The Java news ticker on ninemsn.com.au no longer appears since build 2001121313,
and continues thru build 2001121608 to build 2001121703. I have noticed quite a
few problems since I installed build 2001121313, for example other Java scripts
within the membership at ninemsn no longer work, and making a talkback on ZDNet
news also will not work. I get a notice saying I have exceeded the maximum
number of redirections for the URL.
The ticker still doesn't work using 2001121822. It is over 5 months since the
BBC's first positive response.  It seems they have changed some things but not
enough to get it to work.  Is it worth getting back in touch with the original
contact to ask if they need any help? (slight tongue in cheek)  They did imply
they wanted it to work.

Raphael
*** Bug 117318 has been marked as a duplicate of this bug. ***
There is a patch for the problem in the bug i just created then duped. I've sent
the beeb an email asking them to use it, so we'll see what happens.

thanks -mike
See attachment 63008 [details] from bug 117318 for a fixed version of the ticker that
works in Mozilla (tested Linux 2001122821).  it also is reported to work in MSIE
5, but not sure about IE 6.

Thanks Michael for the patchwork!  Setting target to Feb.
Target Milestone: --- → Feb
Attached file Fixed version of the ticker —
This is a later version than on my duped bug, it now works in IE 6 too

I'll go obsolete the old one

thanks -mike
No longer blocks: 97535
*** Bug 116759 has been marked as a duplicate of this bug. ***
Tristan can we get an update please? Do you have a contact @bbc that can say if
they want to review a fix contributed by the Mozilla community?

I modified the code a little to be much more readable. No more horrible
display:none'd divs and same id's applied to different elements, etc. I let the
&nbsp; in because I don't what they're for, but I assume they're useful. I made
IE run on the same code as other W3C DOM browsers, except for one line which it
can't do :-(
I tried to get it to run in Opera but it's hopeless. There doesn't seem to be a
way to access a text node that's a child of a div. 

NS4 doesn't do jack, but that was expected. I doubt Michael Hearn's code runs
under NS4 either. (is it using the applet?)

I could probably make it even cleaner and smaller, but it should give you a good
idea.
Fabian and all, this is really good work. Will contact BBC next week!
Webmaster (Adrian) contacted, suggesting Fabian's fix. Waiting for anwer. 
I think you should have proposed Michael Hearn's fix because he has tested it
much more extensively than I and the code changes he did are very minor. Mine is
almost a complete rewrite using arrays etc instead of hidden divs. Sorry I
should have made it clearer when attaching the file.
I may have misunderstood but if the solution(s) being sent to the BBC break(s)
ns4 in order to work under mozilla then this does not seem the right solution. 
ns4 is still the most commonly used browser outside of windows (anyone know this
to be wrong?) and breaking a "release" version to make a "development" version
work just seems wrong.  
From the code that I worked with raphael, I don't think it -ever- worked on
Netscape 4, or at least I don't see how it could unless the server sends back
different code for netscape 4 users (would be unusual). The version of the code
I worked from was IE only.

thanks -mike
Following correspondence with Michael Hearn http://news.bbc.co.uk does currently
work correctly with ns4.  
The script Michael Hearn modified doesn't work in NS4. The HTML has
<iframe src="ticker/ticker.stm"><applet ....></applet></iframe>
I *think* that NS4 ignores the iframe and thus executes the applet, while IE and
mozilla load the iframe src. If you go to /ticker/ticker.stm in NS4, it doesn't
work either. So if we make ticker.stm working in IE and Moz, we should be fine.
Received message from one of the web team members: 
They plan to update their site in the next few weeks, with various enhancements,
including this one. Stay tuned.

Setting target to March.
Target Milestone: Feb → Mar
Keywords: evang500
Summary: news.bbc.co.uk - JavaScript error in news "ticker" → bbc.co.uk - JavaScript error in news "ticker"
Thought it was worth pointing out that we're in mid-march and nothing seems to
have been done about this on the bbc page. Worth another reminder from the
appropriate "powers" perhaps??
see also bug 126919#c28
The ticker is still an issue. (Moz 099 on Windows 2000)

Feel free to bug them by sending remarks to this account:
newsonline.siteproblems@bbc.co.uk

I think it was working sometime in March, but it ceased working around March28
*** Bug 136523 has been marked as a duplicate of this bug. ***
*** Bug 142443 has been marked as a duplicate of this bug. ***
Here's a letter I wrote to the BBC website people:

Dear Webmaster,

My name is Joshua Holman and I do volunteer work for Mozilla (the open-source
internet browser that Netscape 6 is based on) evangelism. We promote the browser
itself and the standards it is based on.

Being a longtime visitor to news.bbc.co.uk, it dismays me that the FrontPage
ticker does not work under Opera, Netscape 6, or Mozilla. The ticker works in
Internet Explorer & Netscape 4.x. Why is this?

I count on the BBC to be my ?standard? for news. Why can?t the BBC?s website
follow web design standards?

Regards,
*** Bug 153313 has been marked as a duplicate of this bug. ***
I wrote them a short "reminder" note and got the following response:
--------------------------------------------------------------------------
We realise there is a problem, and we are doing our best to resolve it. We
do appreciate the importance of this issue to the Mozilla/NS community and
are doing our upmost to get this fixed. 


Regards

BBC News Online
http://news.bbc.co.uk/
----------------------------------------------------------------------------

So they haven't completely forgotten about it but how long can it take given
there is code to fix it attached to this page (I did mention that)...
Woo Hoo!!!

Finally someone @ BBC Online has responded to us! Is there a way we can give 
the webmaster(s) the code snippets attached to this bug?
*** Bug 156872 has been marked as a duplicate of this bug. ***
Whiteboard: [bugscape: 4358][wrmb][PROPRIETARY-DOM] → [bugscape: 4358][wrmb][PROPRIETARY-DOM][havefix][havecontact]
*** Bug 160762 has been marked as a duplicate of this bug. ***
*** Bug 165101 has been marked as a duplicate of this bug. ***
*** Bug 166137 has been marked as a duplicate of this bug. ***
Seems they've finally fixed this - you get the Java Applet version of the page now.

This is after I posted a comment attached to their story about Netscape 7 being
released pointing out the irony of putting that on the same front page that
didn't support Mozilla derived-browsers, and pointing out that there was example
code to fix it available here.
I can confirm that it now works - current versions of Mozilla and Galeon show
the ticker properly.
I think this bug should not be resolved until the BBC site implements a
Javascript ticker for Mozilla. Requiring Java for a ticker is just not good. I'm
glad things are moving though.
Fabian, I kind of agree with you on that, but I have been in touch with the BBC
team for more than a year, sending something like a dozen letters or more.

I do think that JS is better than Java for this specific kind of widget, but I
_cannot_ force the BBC web team to use my favorite option. 

The point is that the issue is now gone, so I mark this bug as resolved fixed.

There are hundreds of other evang bugs in my region. Let's move on, even if this
one is not the perfect solution, it does have a fix which has been applied.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
It's great they fixed the bug. I have the most recent JRE on my mom's laptop
(which runs Me) and my desktop (which runs XP Home) and fould that the Java news
ticker applet loads a little bit slower on the laptop than does the desktop. I
wonder why...
This bug needs to be reopened.

The BBC have today launched a redesigned site, which has made the ticker rather
useless in Mozilla (though not, of course, in IE).

While it still "ticks", the ticker now shows only the first of the two lines
given to each headline (presumably because its iframe is too short).
It's not the same problem as before so I've opened a separate bug. It's bug 194012
Let's let this bug R.I.P.
v
Status: RESOLVED → VERIFIED
tech evang june 2003 reorg
Component: Europe: West → English Other
Target Milestone: Mar → ---
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: