Bug Tracker

Modify

Ticket #3509 (closed enhancement: invalid)

Opened 6 years ago

Last modified 2 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 3 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.

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.