Bug Tracker

Ticket #3509 (closed enhancement: invalid)

Opened 6 years ago

Last modified 3 years ago

Make selectors work across iframes

Reported by: paul Owned by: john
Priority: major Milestone: 1.3
Component: selector Version: 1.2.6
Keywords: Cc: paul, flesler, joern
Blocking: Blocked by:

Description

I propose to add navigating through iframes for the immediate next version of jQuery. That would basically allow you to do stuff like $("iframe div") and fail gracefully on iframes you're not allowed to access.

Although I never worked on the selector engine, implementation seems quite easy - a initial test showed that adding something like

if(ret[i].nodeName.toLowerCase() == "iframe") ret[i] = ret[i].contentDocument
ret[i].document;

at line 232 in selector.js would do the job (probably not in all cases though). I personally think it would be a very valuable addition, and I can see quite a few usecases in jQuery UI.

Change History

comment:1 Changed 6 years ago by flesler

  • Owner set to john

I can add that some people asked me how to scroll (using scrollTo/localScroll) to items in iframes when links on parent win are clicked. This would do the trick.

There are some restrictions with cross domain iframes, right ? that needs to be taken into account.

comment:2 Changed 6 years ago by flesler

  • Cc paul, flesler added

comment:3 Changed 6 years ago by flesler

  • Cc joern added

comment:4 Changed 6 years ago by paul

Since it's not possible to navigate through cross-domain iframes, jQuery would simply return a empty collection in that case.

comment:5 Changed 4 years ago by dmethvin

  • Status changed from new to closed
  • Resolution set to invalid

The standard querySelectorAll selector syntax tdoesn't support this so I'm closing it.

Note: See TracTickets for help on using tickets.