diff -u b/includes/common.inc b/includes/common.inc --- b/includes/common.inc +++ b/includes/common.inc @@ -4306,7 +4306,7 @@ * @see locale_js_alter() * @see drupal_js_defaults() */ -function drupal_get_js($scope = 'header', $javascript = NULL, $skip_alter = FALSE) { +function drupal_get_js($scope = 'header', $javascript = NULL, $skip_alter = FALSE, $need_ajaxPageState = FALSE) { if (!isset($javascript)) { $javascript = drupal_add_js(); } @@ -4372,4 +4372,9 @@ } } + elseif ($need_ajaxPageState) { + $setting['ajaxPageState']['js'] = array_fill_keys(array_keys($items), 1); + unset($setting['ajaxPageState']['js']['settings']); + drupal_add_js($setting, 'setting'); + } // Loop through the JavaScript to construct the rendered output. only in patch2: unchanged: --- a/includes/ajax.inc +++ b/includes/ajax.inc @@ -271,8 +271,8 @@ function ajax_render($commands = array()) { unset($items['js']['settings']); } $styles = drupal_get_css($items['css'], TRUE); - $scripts_footer = drupal_get_js('footer', $items['js'], TRUE); - $scripts_header = drupal_get_js('header', $items['js'], TRUE); + $scripts_footer = drupal_get_js('footer', $items['js'], TRUE, TRUE); + $scripts_header = drupal_get_js('header', $items['js'], TRUE, TRUE); $extra_commands = array(); if (!empty($styles)) {