Index: popups.js --- popups.js Base (BASE) +++ popups.js Locally Modified (Based On LOCAL) @@ -712,11 +712,24 @@ */ Popups.addCSS = function(css) { Popups.addedCSS = []; + var ajaxLoad = typeof(Drupal.settings.AjaxLoad.css) != "undefined"; for (var type in css) { for (var file in css[type]) { var link = css[type][file]; + var found = false; // Does the page already contain this stylesheet? - if (!$('link[href='+ $(link).attr('href') + ']').length) { + if(ajaxLoad){ + for(var el in Drupal.settings.AjaxLoad.css){ + if(link.indexOf(Drupal.settings.AjaxLoad.css[el]) != -1){ + found = true; + break; + } + } + } + else + found = $('link[href='+ $(link).attr('href') + ']').length; + + if (!found) { $('head').append(link); Popups.addedCSS.push(link); // Keep a list, so we can remove them later. } @@ -744,12 +757,24 @@ } } - // Add new JS settings to the page, needed for #ahah properties to work. - Drupal.settings = js.setting; + var ajaxLoad = typeof(Drupal.settings.AjaxLoad.scripts) != "undefined"; for (var i in scripts) { var src = scripts[i]; - if (!$('script[src='+ src + ']').length && !Popups.addedJS[src]) { + var found = false; + if(ajaxLoad){ + for(var el in Drupal.settings.AjaxLoad.scripts){ + if(src.indexOf(Drupal.settings.AjaxLoad.scripts[el]) != -1){ + found = true; + break; + } + } + } + else + found = $('script[src='+ src + ']').length; + + if (!found && !Popups.addedJS[src]) { +// if (!$('script[src='+ src + ']').length && !Popups.addedJS[src]) { // Get the script from the server and execute it. $.ajax({ type: 'GET', @@ -765,6 +790,10 @@ } } + // Add new JS settings to the page, needed for #ahah properties to work. + // jQuery.extend(Drupal.settings, js.setting); + Drupal.settings = js.setting; + return inlines; };