Make WordPress Core

Opened 4 years ago

Closed 2 years ago

#50507 closed defect (bug) (worksforme)

The modal window is blank depending on the URL

Reported by: madeinua's profile madeinua Owned by:
Milestone: Priority: normal
Severity: minor Version: 5.4.2
Component: External Libraries Keywords: has-patch
Focuses: ui, javascript Cc:

Description

Hi there,

I found that the function tb_parseQuery() can incorrectly parse some URLs that lead to incorrect displaying of modal windows: they are empty because of the undefined parameter "inlineId".

Sample URL:

https://test.localhost/wp-admin/index.php#TB_inline?inlineId=modal_123

tb_parseQuery() of this URL returns nothing.

Should be:

Object { page: "media#TB_inline", inlineId: "modal_123" }

The solution to the problem is to change this:

var Pairs = query.split(/[;&]/);

into this

var Pairs = query.split(/[;&?]/);

Not sure if this will not break something else, but it makes the Thickbox window work.

Attachments (1)

fix1.patch (711 bytes) - added by madeinua 4 years ago.
Fix file

Download all attachments as: .zip

Change History (3)

@madeinua
4 years ago

Fix file

#2 @desrosj
2 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to worksforme
  • Status changed from new to closed

Hi @madeinua,

Sorry that this one took so long to receive a response.

I'm able to reproduce the issue with the URL you shared. However, I think this is happening because the URL is incorrect. There are two ?s in your URL. If you restructure the URL to use & for the two query vars, it works correctly.

In my testing, both of these work:

  • https://test.localhost/wp-admin/options-general.php?page=media&inlineId=modal_123#TB_inline
  • https://test.localhost/wp-admin/options-general.php#TB_inline?page=media&inlineId=modal_123

I'm going to close this out as a worksforme.

Note: See TracTickets for help on using tickets.