- Patch #565808 by cha0s, thegreat, Dave Reid, Alexander N, andrewlevine, carlos8f: nojs/ajax replacement.

merge-requests/26/head
Dries Buytaert 2010-11-12 03:02:43 +00:00
parent f4c438b7f0
commit bf4d7279e9
1 changed files with 10 additions and 1 deletions

View File

@ -115,7 +115,16 @@ Drupal.ajax = function (base, element, element_settings) {
// Replacing 'nojs' with 'ajax' in the URL allows for an easy method to let
// the server detect when it needs to degrade gracefully.
this.url = element_settings.url.replace(/\/nojs(\/|$)/g, '/ajax$1');
// There are five scenarios to check for:
// 1. /nojs/
// 2. /nojs$ - The end of a URL string.
// 3. /nojs? - Followed by a query (with clean URLs enabled).
// E.g.: path/nojs?destination=foobar
// 4. /nojs& - Followed by a query (without clean URLs enabled).
// E.g.: ?q=path/nojs&destination=foobar
// 5. /nojs# - Followed by a fragment.
// E.g.: path/nojs#myfragment
this.url = element_settings.url.replace(/\/nojs(\/|$|\?|&|#)/g, '/ajax$1');
this.wrapper = '#' + element_settings.wrapper;
// If there isn't a form, jQuery.ajax() will be used instead, allowing us to