WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 3 years ago

#16643 closed defect (bug) (fixed)

Page Parent Dropdown in IE8

Reported by: jlevandowski Owned by:
Milestone: 3.2 Priority: normal
Severity: major Version: 3.1
Component: Administration Keywords:
Focuses: Cc:

Description

Using Internet Explorer 8 with WordPress 3.1 and no plugins activated. When in the page editor, the page parent dropdown when clicked displays the attached error window. This WordPress install has 532 pages with pages in a hierarchy 5 levels deep.

Attachments (2)

ie8error.jpg (18.7 KB) - added by jlevandowski 3 years ago.
IE8 Error Popup
this-works.diff (675 bytes) - added by solarissmoke 3 years ago.

Download all attachments as: .zip

Change History (33)

jlevandowski3 years ago

IE8 Error Popup

comment:1 follow-up: ramoonus3 years ago

have you also tried this without any IE addons enabled?

comment:2 solarissmoke3 years ago

Confirmed - IE8 stalls when there is a large (~500) number of pages and you click on the parent dropdown. I'm guessing it's a memory issue - but the Javascript debugger is giving me nothing.

comment:3 follow-up: ramoonus3 years ago

and IE7 and 9 (RC)?

comment:4 in reply to: ↑ 1 jlevandowski3 years ago

Replying to ramoonus:

have you also tried this without any IE addons enabled?

I tried disabling all IE addons and clearing cache and cookies on IE8. I Still get the error message.

comment:5 in reply to: ↑ 3 ; follow-up: solarissmoke3 years ago

and IE7 and 9 (RC)?

IE7 stalls. I don't have IE9 so hopefully someone else can report.

In any case having to trawl through a list of 500 pages to select a parent seems awkward. Maybe there should be a search facility like there is for attaching media to posts. That said I don't know how many sites out there have a huge number of pages.

comment:6 follow-up: jlevandowski3 years ago

FYI. This worked fine in WordPress 3.0.4, so it's something that changed in 3.1

comment:7 in reply to: ↑ 5 ramoonus3 years ago

Replying to solarissmoke:

and IE7 and 9 (RC)?

IE7 stalls. I don't have IE9 so hopefully someone else can report.

In any case having to trawl through a list of 500 pages to select a parent seems awkward. Maybe there should be a search facility like there is for attaching media to posts. That said I don't know how many sites out there have a huge number of pages.

I`ve got IE9 RC
so if you could provide a link I could check this

comment:8 in reply to: ↑ 6 ; follow-up: ramoonus3 years ago

Replying to jlevandowski:

FYI. This worked fine in WordPress 3.0.4, so it's something that changed in 3.1

have you checked with 3.0.5?

comment:9 in reply to: ↑ 8 jlevandowski3 years ago

Replying to ramoonus:

Replying to jlevandowski:

FYI. This worked fine in WordPress 3.0.4, so it's something that changed in 3.1

have you checked with 3.0.5?

Works fine in 3.0.5

comment:10 riskiii3 years ago

I too am having the same issue on a site that has 385 pages, and many levels deep. I have tried it in both IE 7 and IE 8.

Last edited 3 years ago by riskiii (previous) (diff)

comment:11 solarissmoke3 years ago

Just checked and it works fine in IE9.

So, at present it occurs with WP 3.1 and IE7/8.

comment:12 nacin3 years ago

  • Milestone changed from Awaiting Review to 3.1.1

For review.

comment:13 solarissmoke3 years ago

I'm a bit confused about what could be causing this... wp_dropdown_pages() and the Javascript that uses the parent_id dropdown are completely unchanged from 3.0.5

comment:14 follow-up: solarissmoke3 years ago

Tracked this down - it is being caused by jQuery 1.4.4. Switching back to 1.4.2 removes the problem.

PS jQuery 1.5.1 seems to have the same issue as 1.4.4.

Last edited 3 years ago by solarissmoke (previous) (diff)

comment:15 nacin3 years ago

It would be great to corner this and, if necessary, report this upstream.

Any enhancements we can make to our JS to make this go away?

comment:16 follow-up: solarissmoke3 years ago

Right, I've narrowed it further. The issue is with jQuery-ui-sortable (which operates on the parent page div - see postbox.dev.js). For some reason it is really, really slow and it causes IE7/8 to fall over. There is a bug report over on jQuery-ui trac.

As for how to mitigate - only option seems to be to disable ui-sortable on that particular div for IE7/8. I'm working on a patch now to see whether it will work.

Last edited 3 years ago by solarissmoke (previous) (diff)

solarissmoke3 years ago

comment:17 solarissmoke3 years ago

The only way I can fix this is to completely disable sorting on the side-sortables div (for IE7/8) - trying to just exclude the parent page div doesn't work. this-works.diff does this, and then the dropdown works fine.

I'm not saying we should do this - just putting it there because it works. I personally am quite happy to ask people to switch to a friendlier browser :).

comment:18 solarissmoke3 years ago

Some more details: I think the issue is caused by changes to jQuery.find() (Sizzle).

The folks at Twitter encountered similar problems and have reverted back to jQuery 1.4.2 for the time being: see here and here for details.

comment:19 in reply to: ↑ 14 ramoonus3 years ago

Replying to solarissmoke:

Tracked this down - it is being caused by jQuery 1.4.4. Switching back to 1.4.2 removes the problem.

PS jQuery 1.5.1 seems to have the same issue as 1.4.4.

and 1.5.2 (currently as RC)
but that won`t fix things until WP 3.2

comment:20 in reply to: ↑ 16 ramoonus3 years ago

Replying to solarissmoke:

Right, I've narrowed it further. The issue is with jQuery-ui-sortable (which operates on the parent page div - see postbox.dev.js). For some reason it is really, really slow and it causes IE7/8 to fall over. There is a bug report over on jQuery-ui trac.

As for how to mitigate - only option seems to be to disable ui-sortable on that particular div for IE7/8. I'm working on a patch now to see whether it will work.

might be fixed with and related to #16656

comment:21 follow-up: solarissmoke3 years ago

might be fixed with and related to #16656

Afraid not. I tried with UI 1.8.11 and it has the same problem.

comment:22 azaozz3 years ago

Investigating this further in IE8: the Slow Script error seems to be coming from the onclick event. Tested with about 300 pages, the page parent dropdown shows after some delay but trying to scroll it by dragging the scrollbar fails. However scrolling it with the mouse wheel works properly (no delay).

The IE8 script debugging console shows the error as being in the while loop in siblingCheck(). This function was introduced in jQuery 1.4.3 and is used in (the rewritten) sortOrder() function.

In 1.4.2 sortOrder() is using createRange() for IE, in 1.4.3 it switched to comparing nodes. We should report this upstream, seems like a "speed" regression.

comment:23 raMOONUS3 years ago

Component: Editor ?

comment:24 ryan3 years ago

  • Milestone changed from 3.1.1 to 3.2

comment:25 nacin3 years ago

  • Milestone changed from 3.2 to 3.1.2

Shifting to 3.1.2 as this remains a known regression.

comment:26 nacin3 years ago

  • Milestone changed from 3.1.2 to 3.1.3

comment:27 in reply to: ↑ 21 ; follow-up: ramoonus3 years ago

Replying to solarissmoke:

might be fixed with and related to #16656

Afraid not. I tried with UI 1.8.11 and it has the same problem.

and jQuery UI 1.8.12? :-D

comment:28 in reply to: ↑ 27 solarissmoke3 years ago

Replying to ramoonus:

and jQuery UI 1.8.12? :-D

Still broken!

comment:29 follow-up: ramoonus3 years ago

and with jQuery 1.6?

comment:30 in reply to: ↑ 29 solarissmoke3 years ago

Replying to ramoonus:

and with jQuery 1.6?

Hey presto, it seems to be fixed in jQuery 1.6. I have no problems accessing the dropdown with about 500 pages. That being the case for everyone, this should be fixed with #17311.

comment:31 azaozz3 years ago

  • Component changed from Editor to Administration
  • Milestone changed from 3.1.3 to 3.2
  • Resolution set to fixed
  • Status changed from new to closed

Fixed in [17907]

Note: See TracTickets for help on using tickets.