Side navigation
#7398 closed bug (fixed)
Opened November 04, 2010 09:42AM UTC
Closed January 21, 2011 04:23PM UTC
Last modified March 10, 2012 06:17AM UTC
tds[0] does not exist
Reported by: | woakesd | Owned by: | dmethvin |
---|---|---|---|
Priority: | high | Milestone: | 1.5 |
Component: | support | Version: | 1.4.4rc |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
I get the following error warning in firebug using the lastest version in an application:
tds[0] is undefined
jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0;
I've tried to create a simple test case of this but failed.
Attachments (1)
Change History (31)
Changed November 04, 2010 03:13PM UTC by comment:1
Changed November 04, 2010 06:22PM UTC by comment:2
owner: | → woakesd |
---|---|
status: | new → pending |
Please provide information about your environment (browser, OS, etc.) as well as the specific version of jQuery you are using and the scheme you are using (http, https, file, gopher, etc.).
Changed November 04, 2010 07:45PM UTC by comment:3
status: | pending → new |
---|
Hi, I will try to work out a test case for this, but in the meantime this was Firefox 3.6.12, Firebug 1.5.4, Windows Server 2008 r2 64 bit, jQuery is 1.4.4rc2 (http://code.jquery.com/jquery-1.4.4rc2.js), jQueryUI 1.8.5.
However as noted that configuation by itself doesn't cause this.
The (intranet) site where this happens uses a frameset embedded in an iframe and most pages load jquery (including the page with the frameset.
However as I write this it has stopped happening.
Close the ticket I think, I dont really have time to isolate this and create a simple example.
Changed November 04, 2010 07:51PM UTC by comment:4
It's back!
But close anyway I can't think of a simple example for it.
I have found that removing jQuery from the frameset page within the iframe ensures this doesn't happen. I'll modify the code and live with it.
The errors appeared to happen when one of the pages within a frame loaded (and this page does have a function
jQuery(function() { xxx(); });
where xxx is a function that accesses the top page jQuery.
Changed November 04, 2010 08:05PM UTC by comment:5
resolution: | → worksforme |
---|---|
status: | new → closed |
Closing as per reporter request, and due to lack of a reproducible test case.
Changed November 04, 2010 08:12PM UTC by comment:6
Please re-open this ticket.
I'm experiencing this problem with the latest jQuery public release (1.4.3) using Firefox 3.6.12. The problem didn't manifest with jQuery 1.4.2. It does not happen under IE 8.0.7600.16385, Chrome 7.0.517.41 beta, or Safari 5.0.2 (7533.18.5). All my testing so far has been on a Windows 7 (32-bit) machine. The problem does seem related to framesets. In particular, there is a line in the jQuery code that attempts to set the innerHTML on a div but the innerHTML doesn't get changed. I will attempt to create a simple harness to illustrate the problem.
Changed November 04, 2010 11:39PM UTC by comment:7
Here's the HTML you can use to reproduce this bug: http://jsfiddle.net/Ba4MR/. The version of Firefox I've seen this happen under is 3.6.12.
Changed November 04, 2010 11:48PM UTC by comment:8
Looking at the offending code, I suspected that wrapping the frameset element in a body element might provide a workaround; it appears to have worked. Nonetheless, it might still be worth addressing since surrounding the frameset with a body isn't strictly valid from the relevant XHTML spec.
Changed November 05, 2010 12:16AM UTC by comment:9
I'm using FF 3.6.12 and am not experiencing the issue. I've tried both the fiddle and copying the whole case out and into its own file locally.
Changed November 05, 2010 12:24AM UTC by comment:10
Replying to [comment:9 rwaldron]:
I'm using FF 3.6.12 and am not experiencing the issue. I've tried both the fiddle and copying the whole case out and into its own file locally.
I just copied out the fiddle, saved it into a new html file and opened it in FF 3.6.12. Inspecting the error console, I see the error occurs twice. Tomorrow I'll get some coworkers to try it out on their machines.
Changed November 05, 2010 12:30AM UTC by comment:11
I'm not getting any errors. How about taking a screenshot?
Changed November 05, 2010 12:51AM UTC by comment:12
I've created a recording in MHT format but I can't figure out how to attach it to this ticket.
Changed November 05, 2010 01:02AM UTC by comment:13
Zip it?
Changed November 05, 2010 01:08AM UTC by comment:14
It is zipped - I can't find any means of *attaching* it to this ticket. I'm not familiar with Trac. Does the ticket have to be in a particular state? Do I have to create a new ticket?
Changed November 05, 2010 01:11AM UTC by comment:15
So... if you're using Firefox, can you just add this: https://addons.mozilla.org/en-US/firefox/addon/1146/
Take a screenshot, upload it here:
...OR...
either of those ways is easier.
Changed November 05, 2010 01:22AM UTC by comment:16
Here we go - I decided to use mongofiles. Thanks for the info. I guess direct file attachments aren't permitted in the ticket. http://www.mongofiles.com/file/32413/bugrecording.zip
Changed November 05, 2010 01:33AM UTC by comment:17
Something about this:
CommandLine="FIREFOX.EXE -REQUESTPENDING -OSINT -URL C:\\USERS\\KRISTIAN\\DESKTOP\\BUG.HTML"
tells me its not going to work on my linux machine. sorry dude, I tried to help. I still will if you wanna hook it up with a basic screen shot, otherwise, I cant help any further.
Changed November 05, 2010 01:39AM UTC by comment:18
Don't sweat it. Some coworkers are using Linux for dev - I'll see if they can reproduce it tomorrow. Hopefully I'll have something good to report. Thanks again.
Changed November 05, 2010 01:39AM UTC by comment:19
Don't sweat it. Some coworkers are using Linux for dev - I'll see if they can reproduce it tomorrow. Hopefully I'll have something good to report. Thanks again.
Changed November 05, 2010 12:19PM UTC by comment:20
I tried this using Firefox 3.6.11 on CentOS Linux and I also see the errors in my Firefox error console:
Error: tds[0] is undefined
Source File: http://code.jquery.com/jquery-1.4.3.js
Line: 1053
Changed November 05, 2010 12:27PM UTC by comment:21
Here is a screenshot of the error console: http://tinypic.com/r/2utgeom/7
Changed November 05, 2010 01:07PM UTC by comment:22
resolution: | worksforme |
---|---|
status: | closed → reopened |
This whole time, I was looking in Firebug.
Changed November 05, 2010 01:08PM UTC by comment:23
status: | reopened → open |
---|
Changed November 10, 2010 03:18PM UTC by comment:24
I can confirm this bug with my frame-based web application, too using Firefox 3.6.10.
jQuery 1.4.3 is simply included - no custom coding - and the JavaScript console throws the exact same error as previously described.
Switching back to 1.4.2 removes the error message so I suppose something in 1.4.3 is the cause of this.
Changed November 10, 2010 03:24PM UTC by comment:25
Me again, anonymous ;)
I've done some investigation on how jQuery is used in my project and I am automatically including it in most major files including frameset-only HTML files that do NOT have a BODY-tag.
This is most likely the cause !
Changed November 11, 2010 04:43PM UTC by comment:26
#7469 is a duplicate of this ticket.
Changed November 20, 2010 02:53AM UTC by comment:27
component: | unfiled → support |
---|
TL;DR: Error occurs with frameset documents that do not have a body. The code in support.js expects pages to have a body. In these cases the getElementsByTagName
method returns undefined instead of a nodelist.
Moral of the story: jQuery wants a body.
Changed December 07, 2010 01:14PM UTC by comment:28
_comment0: | Same error here - Jquery 1.4.4 included within frameset file --> error: \ \ Fehler: tds[0] is undefined \ Source: jquery-1.4.4.source.js \ Row: 1070 \ \ Any fix in sight? → 1291728115460218 |
---|---|
_comment1: | Same error here - Jquery 1.4.4 included within frameset file (XHTML 1.0 Frameset - without <body>) --> error: \ \ Fehler: tds[0] is undefined \ Source: jquery-1.4.4.source.js \ Row: 1070 \ \ Any fix in sight? → 1291728138195014 |
Same error here - Jquery 1.4.4 included within frameset file (XHTML 1.0 Frameset - without <body>) --> error:
Error: tds[0] is undefined
Source: jquery-1.4.4.source.js
Row: 1070
Any fix in sight?
Changed December 23, 2010 03:40AM UTC by comment:29
Fix: https://github.com/jquery/jquery/pull/144
I've attached a minimal repro case to the ticket, since it can't be done through jsfiddle.
Changed December 23, 2010 03:42AM UTC by comment:30
owner: | woakesd → dmethvin |
---|---|
status: | open → assigned |
Changed January 21, 2011 04:23PM UTC by comment:31
priority: | undecided → high |
---|---|
resolution: | → fixed |
status: | assigned → closed |
Landed this pull request from Dave:
We need more specifics on your environment. This line is line 160 in support.js and gets run as jQuery is loaded. So this is a bug that should appear by just including jQuery. More specifics or a test case would be necessary to determine specifically what is happening.
If we don't get anymore details, this is a worksforme.