Closed Bug 2438 Opened 26 years ago Closed 24 years ago

[LAYER] javascript news ticker is not handled correctly(not at all)

Categories

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

defect

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: cmaximus, Assigned: ekrock)

References

()

Details

This bug is valid for WinNT 01/15/99, MacOS 8.5 01/15/99, and Linux 01/15/99

Expected:
	There is a 'Headlines' ticker at planetquake.com, a minimized version is
available at the above url. It is bordered(top and bottom) by two parallel orange
lines. Inbetween the lines little blurbs should scroll by in yellow. The blurbs
are links and there should be some plaintext in white associated with each link.

Result:
	All you see are the two parallel lines.

to reproduce just click on the above url. However there are currently two bugs
affecting the ability to validate/reproduce this bug.
See: 2363 - javascript doesn't work at all and
	2437 - view source broken
depending on the status for the above bugs and your platform you'll be able to
accurately reproduce this bug
Status: NEW → ASSIGNED
Assignee: rickg → vidur
Status: ASSIGNED → NEW
Vidur: Here's a min. test case that shows the ticker bug. Please take a look...

<html>
<body bgcolor="#000000" text="#FFFFFF">
<!-- Begin Sectional Ticker-->
<IMG SRC="images/dot_clear.gif" NAME="holdspace" ID="holdspace" WIDTH="320"
HEIGHT="13" STYLE="visibility:hidden; position:relative;">
<!--End Sectional Ticker -->


<SCRIPT LANGUAGE="JavaScript1.2">

// bannerconfig.js

var NS4 = (document.layers) ? true : false;
var IE4 = (document.all) ? true : false;

var interval = 20;
var increment = 1;
var pause = 2000;
var bannerColor = "#000000";
var leftPadding = 3;
var topPadding = 0;



var bannerLeft = (NS4) ? document.images.holdspace.x :
  holdspace.offsetLeft;
var bannerTop = (NS4) ? document.images.holdspace.y :
  holdspace.offsetTop;
var bannerWidth = (NS4) ? document.images.holdspace.width :
  holdspace.width;
var bannerHeight = (NS4) ? document.images.holdspace.height :
  holdspace.height;



var ar = new Array(
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17110">The End of Violence update</a> 1/17
16:14</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17107">Outbreak v1.0</a> 1/17 15:13</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17106">Quake 2 Peek 2.11</a> 1/17 15:06</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17105">Weapons Factory v4.0 client pak</a> 1/17
15:04</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17091">The Mailbag Gets God</a> 1/17
11:17</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17082">OSP Tourney DM v1.06i</a> 1/17
07:09</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17073">PlanetQuake Briefs for 1/17</a> 1/17
03:22</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17072">Wadtool v1.0.3</a> 1/17 03:18</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17074">In Other News...</a> 1/17 00:00</font>',
  '<font face="Verdana, Arial, Helvetica" size="1"> <A
HREF="/news/newsbytime.shtm#PQN17075">Sitewatch</a> 1/17 00:00</font>'
);

onload = startBanner;

function showMessage(n, show) {
  var whichEl = (NS4) ? eval("message" + n) :
                        eval("message" + n + ".style");
  whichEl.visibility = (show) ? ((NS4) ? "show" : "visible") :
                                ((NS4) ? "hide" : "hidden");
}

function nextMessage() {
  var fromInd = current;
  current = (fromInd == ar.length - 1) ? 0 : fromInd + 1;
  scrollBanner(fromInd, current);
}

function moveUp() {
  if (NS4) {
    fromEl.top -= increment;
    if (toEl.top - increment <= toElTarget) {
      toEl.top = toElTarget;
      clearInterval(intervalID);
      fromEl.visibility = "hide";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {
      toEl.top -= increment;
    }
  } else {
    fromEl.pixelTop -= increment;
    if (toEl.pixelTop - increment <= toElTarget) {
      toEl.pixelTop = toElTarget;
      clearInterval(intervalID);
      fromEl.visibility = "hidden";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {
      toEl.pixelTop -= increment;
    }
  }
}

function scrollBanner(from, to) {
  if (NS4) {
    fromEl = eval("message" + from);
    toEl = eval("message" + to);
    toEl.top = fromEl.top + bannerHeight;
    toElTarget = fromEl.top;
  } else {
    fromEl = eval("message" + from + ".style");
    toEl = eval("message" + to + ".style");
    toEl.pixelTop = fromEl.pixelTop + bannerHeight;
    toElTarget = fromEl.pixelTop;
  }
  showMessage(to, true); // show the upcoming message
  intervalID = setInterval("moveUp()", interval);
}

function makeIE() {
  // assign the necessary code to a variable
  var text = '<DIV ID="banner" STYLE="position:absolute">';
  for (var i = ar.length - 1; i >= 0; i--) {
    text += '<DIV ID="message' + i +
            '" STYLE="position:absolute"></DIV>';
  }
  text += '</DIV>';

  // insert the code before the end of the document
  document.body.insertAdjacentHTML("BeforeEnd", text);

  // define the main element's properties
  with (banner.style) {
    width = bannerWidth;
    height = bannerHeight;
    clip = "rect(0 " + bannerWidth + " " + bannerHeight + " 0)";
    backgroundColor = bannerColor;
    pixelLeft = bannerLeft;
    pixelTop = bannerTop;
  }

  // define the child elements' properties
  for (i = 0; i < ar.length; i++) {
    with (eval("message" + i + ".style")) {
      visibility = "hidden";
      pixelLeft = leftPadding;
      pixelTop = topPadding;
      width = bannerWidth - leftPadding;
      backgroundColor = bannerColor;
    }
  }
}

function makeNS() {
  // create the main element
  banner = new Layer(bannerWidth);

  // define the main element's properties
  with (banner) {
    clip.right = bannerWidth;
    clip.bottom = bannerHeight;
    document.bgColor = bannerColor;
    left = bannerLeft;
    top = bannerTop;
    visibility = "show";
  }

  // define the child elements' properties
  for (var i = 0; i < ar.length; i++) {
    // create a child element
    eval("message" + i + " = " +
         "new Layer(bannerWidth - leftPadding, banner)");
    with(eval("message" + i)) {
      visibility = "hide";
      left = leftPadding;
      top = topPadding;
      document.bgColor = bannerColor;
    }
  }
}

function fillBanner() {
  var whichEl;
  if (NS4) {
    for (var i = 0; i < ar.length; i++) {
      whichEl = eval("message" + i);
      whichEl.document.write(ar[i]);
      whichEl.document.close();
    }
  } else {
    for (var i = 0; i < ar.length; i++) {
      whichEl = eval("message" + i);
      whichEl.innerHTML = ar[i];
    }
  }
}

function startBanner() {
  if (NS4)
    makeNS()
  else
    makeIE();
  fillBanner();
  showMessage(0, true);
  current = 0;
  timeoutID = setTimeout("nextMessage()", pause);
}

</SCRIPT>

</body>
</html>
i copied put the minimized testcase below on wetnap and updated the above URL:
http://wetnap/seamonkey/bugs/planetquake/bug2438.html
Vidur -- this is the one we discussed today.
installing myself as QA Contact for sevaral bugs at once
Setting all current Open Critical and Major to M3
I'm trying to clear up my radar and came across this bug. The other bugs that were blocking reproducibility are all resolved
fixed.....
This bug is still/now reproducible on all platforms...

*the url points to a min testcase (html/javascript contained within) but there is a javascript error in the testcase. You can still go to
www.planetquake.com to see the behavior
*update* - nothing special, just noting that this bug is stil valid and reproducible for Apprunner(orignally logged against viewer)
on all 3 platforms. Oh yeah the testcase works fine now(in Nova). I'm not sure it was *really* broken.
Target Milestone: M3 → M5
oh yeah, I meant to say the bug is valid for apprunner on all platfroms as of the Mar09 builds.
*** Bug 4589 has been marked as a duplicate of this bug. ***
Summary: javascript news ticker is not handled correctly(not at all) → [LAYER]javascript news ticker is not handled correctly(not at all)
Target Milestone: M5 → M7
Another layers bug to add to the pile.
Status: NEW → ASSIGNED
Target Milestone: M7 → M9
*** Bug 3880 has been marked as a duplicate of this bug. ***
just carrying over info from dupe bug like the cc's and the following comments(Vidur 03/23/99):

A couple of backward compatibility issues:
1) document.layers
2) Image positions (the x and y properties)

Eric, we need to make a final call on compatibility with layers.
Assignee: vidur → ekrock
Status: ASSIGNED → NEW
Assigning all layers bugs to ekrock.
Blocks: 8023
Status: NEW → ASSIGNED
Target Milestone: M9 → M15
Setting all LAYER bugs to M15 for as-time-allows evangelism.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
as posted on the bugathon site im marking this bug invalid.
excuse me, why was this bug marked invalid? Please state specific reasons.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
sford4 is correct and did the right think in INVALIDing this. This is invalid 
b/c Mozilla won't support layers. claudius, please read over 
http://www.mozilla.org/newlayout/bugathon.html#layerbugs for full explanation. 
Thanks!
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → INVALID
Summary: [LAYER]javascript news ticker is not handled correctly(not at all) → [LAYER] javascript news ticker is not handled correctly(not at all)
coolio. i was just wondering how/why after such a long life a bug would go invalid. i see now. marking VERIFIED
Status: RESOLVED → VERIFIED
Moving all [LAYER] bugs to Evangelism component for tracking and open-source
evangelism by mozilla community members of sites that need to upgrade to support 
web standards such as HTML 4.0 (instead of LAYER/ILAYER) and the W3C DOM
(instead of Nav4 document.layers[] or IE document.all()). Sites should be
lobbied to do the upgrade using the email templates that are linked to from
http://www.mozilla.org/newlayout/bugathon.html#layerbugs . When a site's owner
has confirmed receipt of the message requesting an upgrade, the bug should be
marked with the keyword evangelized to indicate that evangelism for that bug is
complete. When the site finishes the upgrade and supports standards, the bug
should be closed.
Assignee: ekrock → nobody
Status: VERIFIED → NEW
Component: Parser → Evangelism
Keywords: evangwanted
QA Contact: claudius → nobody
Target Milestone: M15 → ---
SPAM:Changing QA contact on 111 evang bugs as I am now the new QA contact for 
this component.

Sorry about the spam

zach
QA Contact: nobody → zach
Reassigning Evangelism bugs to me, the component's new owner.  I would like to 
take this opportunity to thank nobody@mozilla.org for all of his dedication, 
contributions, and hard work, and wish him luck at his new job.  Thanks, nobody.
Assignee: nobody → BlakeR1234
workaround bugzilla problem that caused a bunch of evangelism bugs to be 
NEW/INVALID, NEW/FIXED, NEW/WORKSFORME or NEW/DUPLICATE
Resolution: INVALID → ---
There's nothing we can do about Netscape internal sites.
Assignee: blakeross → ekrock
Severity: major → normal
Priority: P2 → P3
QA Contact: zach → ekrock
INVALID. Referenced URL no longer exists, and it looks like it was a saved copy
of a web page referenced from an internal bug report anyway, not a real page
actually used internally.
Status: NEW → RESOLVED
Closed: 25 years ago24 years ago
Resolution: --- → INVALID
Status: RESOLVED → VERIFIED
Verifying INVALID.
ekrock: please do not rubber-stamp verify bugs that you marked as resolved.
The whole point of a separate verified state is that two people should check
the resolution, since we are not infallible.

VERIFIED that http://www.planetquake.com/, the original URL referenced in this
bug report, cannot be evangelised since they no longer use a ticker.
Keywords: evangwanted
All Evangelism Bugs are now in the Product Tech Evangelism. See bug 86997 for
details.
Component: Evangelism → US English
Product: Browser → Tech Evangelism
Version: other → unspecified
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.