Closed Bug 107734 Opened 23 years ago Closed 22 years ago

pariscope.fr - DynAPI JS Scroll2 object doesn't work

Categories

(Tech Evangelism Graveyard :: French, defect, P2)

x86
All

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: nfritsch, Assigned: tristan)

References

()

Details

(Whiteboard: [TOOL][DYNAPI][havefix][havecontact])

Attachments

(5 files)

In the "Nouveautés de la semaine" section, the JS scrollbar doesn't work on
BSD4.4: no scrolling.

Here is the JS script that creates this scrollbar but doesn't work:

<script language="Javascript"><!--

	onload=init;

	function init() {
		myscroll.activate();
		initMouseEvents();
	}
	
if (is.ns) {
		X = getObjCoordX(document.anchors['topleft']);
		Y = getObjCoordY(document.anchors['topleft']);
	}
	else {
		X = getObjCoordX(document.all['topleft']);
		Y = getObjCoordY(document.all['topleft']);
	}
	X += 6;
	Y += 4;
//alert(X + " - " + Y);
	myscroll = new Scroll(X,Y,426,362);
	myscroll.useH = false;
	myscroll.imgSet('/pics/'+univers+'/scroll2/',16,16,19);

	myscroll.build();

	writeCSS(myscroll.css);

	rollOver(univers,1);

//--></script>

<script language="Javascript"><!--
	document.writeln(myscroll.divStart);
//--></script>


<!-- Some HTML -->

<script language="Javascript"><!--
	document.writeln(myscroll.divEnd);
//--></script>
This site uses JavaScript-based browser detection from DynApi but the, this site
only uses the Netscape4 part of it (is.ns intead of is.ns5 + is.ns) or IE so I
guess document.anchors is not supported by Mozilla (couldn't find bug reports on
this).
(As they assume ns5+ns4 == ns in their above script)

Is document.anchors supported by Mozilla ?

From http://www.pariscope.fr/dynapi/js/browsercheck.js :

function BrowserCheck() {
	var b = navigator.appName
	if (b=="Netscape") this.b = "ns"
	else if (b=="Microsoft Internet Explorer") this.b = "ie"
	else this.b = b
	this.v = parseInt(navigator.appVersion)
	this.ns = (this.b=="ns" && this.v>=4)
	this.ns4 = (this.b=="ns" && this.v==4)
	this.ns5 = (this.b=="ns" && this.v==5)
	this.ie = (this.b=="ie" && this.v>=4)
	this.ie4 = (navigator.userAgent.indexOf('MSIE 4')>0)
	this.ie5 = (navigator.userAgent.indexOf('MSIE 5')>0)
	if (this.ie5) this.v = 5
	this.min = (this.ns||this.ie)
}

-> All (Win2k also affected with build 2001103003)
OS: FreeBSD → All
ok, mozilla supports document.anchors:

http://developer.netscape.com/evangelism/docs/technotes/xref/document-object/

So, this seems to be a real bug, not a Tech Evangelism bug. Can anyone confirm ?
Attached file Reduced testcase
Confirming bug with Mozilla trunk binaries 20011030xx WinNT, Linux, Mac 9.1.
If you load the reduced testcase in NN4.7 or IE4, you get a red button in 
the Scroll object. This allows you to scroll down the long list of XXXX's.

In Mozilla, the button does not appear.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: JS Scroll object doesn't work on BSD 4.4 → DynAPI JS Scroll object doesn't work
Have tried to use the JS Debugger to pin this down, but it's
a little beyond me. Here is what I found, though:

Two of the most important JS files here are:

         http://www.pariscope.fr/dynapi/js/scroll2.js
         http://www.pariscope.fr/dynapi/js/dynlayer.js


The former file makes the DynAPI "Scroll2 Object", and it depends
on the latter file, which makes the DynAPI "DynLayer Object"


ScrollActivate() at scroll2.js line 152 calls these functions, among others:

  DynLayer()               dynlayer.js line 11
  ScrollWindowActivate()   scroll2.js line 293
  ScrollBarActivate()      scroll2.js line 440
  ButtonImageActivate()    scroll2.js line 535


There is NS4.7-specific code in the latter two functions. 
In ScrollBarActivate(): 

  if (is.ns4) this.lyrc.elm.captureEvents(Event.MOUSEDOWN |
                                          Event.MOUSEMOVE | Event.MOUSEUP)

In ButtonImageActivate():

  if (is.ns4) this.lyrc.elm.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)


I don't know if these are relevant to the problem. By setting 
|is.ns4| = true in the debugger, it seemed to make no difference.
Attached file scroll2.js
Attached file dynlayer.js
My feeling is, this is DOM and not JS Engine. Or perhaps Evangelism.
Reassigning to DOM Level 0 for a look. 

cc'ing bclary to see if he knows if the DynAPI Scroll2 Object ever
works in Mozilla - 
Assignee: rogerl → jst
Component: Javascript Engine → DOM Level 0
QA Contact: pschwartau → amar
This is Dan Steinman's original DynAPI which is no longer being developed or
supported. I do not know if this code ever worked in Mozilla.

From http://www.dansteinman.com/dynduo/en/scroll2.html

"This will likely be the last major upgrade to this code before NS5 comes out 
when I'll probably have to edit it a bit to make it work properly (haven't even 
tried it yet). The usefulness of this object will be an issue when NS5 is fully 
out because it will also have the IFrame tag by which you can bring in external 
files. But even still, this is a fun object to build some wild displays and 
break out of those ugly regular scrollbars."


From 
http://dynapi.sourceforge.net/doccenter/index.php?Dynamically%20Add%2FRemove%20S
crollbars 

Dynamically Add/Remove Scrollbars 

"In IE you can dynamically add/remove scrollbars. In NS you can also
dynamically add/remove scrollbars, but you can only remove them if the
content of the browser window IS actually smaller than the window. This is 
tested only on NS4.08 and IE5.5. NS6 ignores the code, but without errors."
Attached file scripts.js
Reassigning to Evangelism component. If anyone disagrees with this,
please reassign back to DOM Level 0 for further debugging.

I can't pinpoint the exact spot in this version of DynAPI that is not
compliant with W3C or N6. It would be great if someone could pinpoint it.

The latest release of the DynAPI can be found at:
http://dynapi.sourceforge.net/doccenter/index.php?ReleaseNotes
 
Assignee: jst → nitot
Component: DOM Level 0 → Europe: West
Product: Browser → Tech Evangelism
QA Contact: amar → caillon
Version: other → unspecified
By the way, the scripts.js file is from http://www.pariscope.fr/scripts.js
and is not a DynAPI file. I included it in case there is any mistake there.

Increasing Severity to major because of the importance of this site.
Severity: normal → major
Summary: DynAPI JS Scroll object doesn't work → DynAPI JS Scroll2 object doesn't work
If you modify scroll2.js as follows, you can at least see the red 
scroll button in Mozilla: 


function ScrollActivate(w,h,reset) {

  if (!this.activated) {
    this.lyr=new DynLayer(this.name)

    if (this.useV) {
      this.barV.activate()
      this.up1Img.activate()
      this.dn1Img.activate()
      this.up2Img.activate()
      this.dn2Img.activate()
    }

    if (this.useH) {
      this.barH.activate()
      this.ltImg.activate()
      this.rtImg.activate()
    }
  }

  this.window.activate(w,h)

  if (this.useV) {

    if (reset!=false) this.barV.boxlyr.moveTo(null,0)
  
    ////////////if (!this.window.enableVScroll) this.barV.boxlyr.hide()
    ////////////else this.barV.boxlyr.css.visibility="inherit"
    this.barV.boxlyr.css.visibility="inherit" //<<<<<<<<<<<<<< i.e FORCE THIS! 
  }
  
  if (this.useH) {
    if (reset!=false) this.barH.boxlyr.moveTo(0,null)

    if (!this.window.enableHScroll) this.barH.boxlyr.hide()
    else this.barH.boxlyr.css.visibility="inherit"
  }
  
  this.activated=true
}


|this.useV| == true, which means there should be vertical scrolling.
However, I found that in Mozilla, |this.window.enableVScroll| == false,
which is why the red button doesn't show up in the vertical scrollbar.
So we have to force the line

              this.barV.boxlyr.css.visibility="inherit"

in order to see it. Once the button shows up, however, it responds to
mouse events in a strange fashion. Movement of the button can be delayed
as much as two or three seconds. The right mouse button has more effect
than the left. And the text to the left of the scrollbar never seems to move. 

This is probably due to the lack of Netscape6 code-branching in the 
mouse-events routines I outlined above at 2001-11-01 14:34.
Accepting bug. This is definitely an evangelism issue, IMHO.

Setting to P2.
sent letter to webmaster@pariscope.fr and through the feedback form.
Status: NEW → ASSIGNED
Priority: -- → P2
Blocks: 54458
Summary: DynAPI JS Scroll2 object doesn't work → pariscope.fr - DynAPI JS Scroll2 object doesn't work
Whiteboard: [TOOL][DYNAPI]
There are 2 ways to fix this bug:
-1 tell them to use iframes. That will work for the scoll thingie, dunno if they
use dynapi elsewhere...
-2 tell them to use a fixed version of dynapi.
Either dynapi1 fixed by bob clary (http://www.bclary.com/dynapi/)
Or dynapi2 (http://dynapi.sourceforge.net/dynapi/) ...

I emailed the webmaster and got an answer. Here is an excerpt:

> Le site pariscope.fr est en effet 
> difficilement visible sur certaines version de navigateurs (les plus récentes
> notement). Pour remedier à ce probleme, nous avons mis au point une version 
> texte sans ascenceurs internes aux pages.
> Elle est disponible à l'adresse suivante :
> http://txt.pariscope.fr
(snip) 
> la version graphique sera retouchée d'ici septembre pour supprimer les 
> ascenceurs !
> Cordialement,La webmaster de pariscope.fr

Good good good, Tristan, I guess you won't mind if I set the target to september
for you.
Target Milestone: --- → Sep
Good job Pierre !
*** Bug 87072 has been marked as a duplicate of this bug. ***
just a comment about this site : pariscope.fr has also a lot of problems with
IE6, not to mention the strange behavior of the dyn scrollbars...
So the site does not have problems with "some" navigators as stated the webmaster
but with all navigators. me wonders who's the contractor who did that for them.
Whiteboard: [TOOL][DYNAPI] → [TOOL][DYNAPI][havefix]
Whiteboard: [TOOL][DYNAPI][havefix] → [TOOL][DYNAPI][havefix][havecontact]
seems to be working now, the js scroll has gone... 
Shall we close it as WFM or FIXED ?
since the site changed their content -> fixed. 
marking as such.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Yay.
Status: RESOLVED → VERIFIED
tech evang june 2003 reorg
Component: Europe: West → French
Target Milestone: Sep → ---
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: