WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
13358
REGRESSION: ReferenceError: Can't find variable in DHTML slideshow script
https://bugs.webkit.org/show_bug.cgi?id=13358
Summary
REGRESSION: ReferenceError: Can't find variable in DHTML slideshow script
Charles Gaudette
Reported
2007-04-15 23:16:14 PDT
Slideshow works in Safari 419.3 but not in WebKit
r20898
. This slideshow script is also used "in the wild" here:
http://www.grandinfo.com/
where a client using (an older?) Safari brought this script to my attention.
Attachments
Add attachment
proposed patch, testcase, etc.
David Kilzer (:ddkilzer)
Comment 1
2007-04-16 03:03:18 PDT
Confirmed viewing
http://www.grandinfo.com/
with Safari 2.0.4 (419.3) on Mac OS X 10.4.9 (8P135) with a local debug build of WebKit
r20896
. JavaScript console reports this error, and the picture slideshow in the upper right-hand corner of the screen does not run: ReferenceError: Can't find variable: obj
http://www.grandinfo.com/
Line: 294 The slideshow works as expected (with no JavaScript console error) in shipping Safari 2.0.4 (419.3) on Mac OS X 10.4.9 (8P135).
David Kilzer (:ddkilzer)
Comment 2
2007-04-16 03:16:22 PDT
Loading the page with Drosera, the error is happening in this function (line 168 in the original document): fadeshow.prototype.resetit=function(){ this.degree=10 var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas) if (crossobj.filters&&crossobj.filters[0]){ if (typeof crossobj.filters[0].opacity=="number") //if IE6+ crossobj.filters(0).opacity=this.degree else //else if IE5.5- crossobj.style.filter="alpha(opacity="+this.degree+")" } else if (crossobj.style.MozOpacity) crossobj.style.MozOpacity=this.degree/101 else if (crossobj.style.KhtmlOpacity) crossobj.style.KhtmlOpacity=obj.degree/100 // ERROR: Line 168 } This looks like it may be a typo. Should "obj.degree" be "this.degree" instead, or perhaps "crossobj.degree"? (But why does shipping Safari not throw an exception here? Perhaps it's not as strict as ToT WebKit is.) And should WebKit still define crossobj.style.KhtmlOpacity?
David Kilzer (:ddkilzer)
Comment 3
2007-04-16 03:37:32 PDT
Confirmed that changing this line: crossobj.style.KhtmlOpacity=obj.degree/100 To this line "fixes" the slideshow: crossobj.style.KhtmlOpacity=this.degree/100 However, only every *other* image is faded in when doing this on Safari/WebKit, while Firefox 2.0.0.3 will fade in every picture. This is probably a different bug in Dynamic Drive, though. (Note that Safari/WebKit don't honor -khtml-opacity anymore, just "opacity".) Lowering from P1 to P2 since this is a server-side evangelism issue, not a client issue. Charles, please feel free to close this bug when you have fixed the issue in your code. Thanks!
Charles Gaudette
Comment 4
2007-04-16 09:11:21 PDT
(In reply to
comment #3
) [...]
> Lowering from P1 to P2 since this is a server-side evangelism issue, not a > client issue. > > Charles, please feel free to close this bug when you have fixed the issue in > your code. Thanks! >
FYI: This is not my code and neither sites are my sites. Thanks for looking at it.
Charles Gaudette
Comment 5
2007-04-16 11:30:04 PDT
(In reply to
comment #3
)
> Confirmed that changing this line: > > crossobj.style.KhtmlOpacity=obj.degree/100 > > To this line "fixes" the slideshow: > > crossobj.style.KhtmlOpacity=this.degree/100 > > However, only every *other* image is faded in when doing this on Safari/WebKit, > while Firefox 2.0.0.3 will fade in every picture. This is probably a different > bug in Dynamic Drive, though. (Note that Safari/WebKit don't honor > -khtml-opacity anymore, just "opacity".)
[...] Sent something to this effect to Dynamic Drive's (only?) E-mail address
ddrivehelp@gmail.com
, as I don't feel compelled to become a registered member of their forums.
David Kilzer (:ddkilzer)
Comment 6
2007-04-16 12:11:22 PDT
(In reply to
comment #5
)
> Sent something to this effect to Dynamic Drive's (only?) E-mail address >
ddrivehelp@gmail.com
, as I don't feel compelled to become a registered member > of their forums.
Thanks Charles! I hope you referenced this bug as well. It will help explain the issue.
Charles Gaudette
Comment 7
2007-04-16 12:39:16 PDT
(In reply to
comment #6
)
> (In reply to
comment #5
) > > Sent something to this effect to Dynamic Drive's (only?) E-mail address > >
ddrivehelp@gmail.com
, as I don't feel compelled to become a registered member > > of their forums. > > Thanks Charles! I hope you referenced this bug as well. It will help explain > the issue.
Well they know now. ;) (While I'm posting this, I'll state the obvious for this bug log. The script works in IE7 for Win.)
Charles Gaudette
Comment 8
2007-05-10 15:14:55 PDT
At this time there has been no response to my messages with DynamicDrive.com. The code offered up freely there remains unchanged — 06 Dec 2005, v1.5. I pointed gradinfo.com's webmaster to this discussion. A fix to the JavaScript has been implemented there, and I have verified that it works in
r21377
; also communicating that back to him. I'm not sure if it is skipping images as described by David Kilzer.
David Kilzer (:ddkilzer)
Comment 9
2007-05-12 22:45:46 PDT
(In reply to
comment #8
)
> I pointed gradinfo.com's webmaster to this discussion. A fix to the JavaScript > has been implemented there, and I have verified that it works in
r21377
; also > communicating that back to him. I'm not sure if it is skipping images as > described by David Kilzer.
The slideshow does display now. Images aren't skipped--the transition just alternates between a fade and a "quick switch" on each photo in ToT WebKit. (On Firefox, the transition is a fade for every photo.)
David Kilzer (:ddkilzer)
Comment 10
2007-06-09 15:19:16 PDT
(In reply to
comment #8
)
> At this time there has been no response to my messages with DynamicDrive.com. > The code offered up freely there remains unchanged — 06 Dec 2005, v1.5.
A user named jscheuer1 has posted "corrected" versions of the "Ultimate Fade-in Slideshow" script a number of times: On the Bug Reports forum:
http://www.dynamicdrive.com/forums/showthread.php?t=20221&highlight=safari+fade-in
On the Scripts help forum:
http://www.dynamicdrive.com/forums/showthread.php?t=20192&highlight=safari+fade-in
These scripts contain the fix described in
Comment #3
as well as other improvements.
Charles Gaudette
Comment 11
2007-07-26 07:42:53 PDT
DynamicDrive.com has updated their script "Ultimate Fade-in slideshow" to version 1.51, dated 24 July 2007. And made notes on the page that it now supports Safari 3. My own tests on the published code shows that Tiger's (Safari 3.0.2-based) WebKit and WebKit
r24615
display the slideshow. Both "shipping" and
r24615
present all five elements in my test arrays. The transition effect is complete, and subjectively smoother than what I see in Mac FireFox 2.0.0.5. I also ran my tests in OmniWeb 5.6 sneaky peek 4 with good results. Further, Win Safari with
r24453
displays — and correctly transitions — the slideshow samples at the report URL. The only remaining thing to do is to advise grandinfo.com's webmaster about the much better script. I'll E-mail that in a moment. I'm marking this bug as FIXED.
David Kilzer (:ddkilzer)
Comment 12
2007-07-26 09:21:30 PDT
(In reply to
comment #11
)
> I'm marking this bug as FIXED.
Great! Thanks for the update, Charles!
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug