Drupal 7
Bạn có thể gọi jquery_update_jquery_replace()
trên trang cụ thể (ví dụ như trong hook_library_alter()
) như được trình bày ở đây bởi drupalmoff :
<?php
/**
* Implements hook_module_implements_alter().
*/
function your_module_module_implements_alter(&$implementations, $hook){
if( $hook == 'library_alter' ){
$group = $implementations ['your_module'];
unset($implementations ['your_module']);
$implementations ['your_module'] = $group;
}
}
/**
* Implements hook_library_alter().
*/
function your_module_library_alter(&$javascript, $module) {
if( $module === 'system' && current_path() == 'path/to/page' ) {
// Make sure we inject either the minified or uncompressed version as desired.
$min = variable_get('jquery_update_compression_type', 'min') == 'none' ? '' : '.min';
$cdn = variable_get('jquery_update_jquery_cdn', 'none');
$path = drupal_get_path('module', 'jquery_update');
$version = '1.7';
jquery_update_jquery_replace($javascript, $cdn, $path, $min, $version);
}
}
?>
Drupal 6
Giải pháp của tôi là thay đổi JQUERY_UPDATE_REPLACE_PATH
hằng số trước khi jquery_update
tải nó:
<?php
/**
* Replace jQuery files on specified paths (fix for IE 6&7 - jQuery bug: bugs.jquery.com/ticket/6498)
*/
// if (array_search($_GET['q'], array('my_page')) !== FALSE) {
if (arg(0) == 'node' && arg(1) == '123') {
define('JQUERY_UPDATE_REPLACE_PATH', 'sites/all/libraries/jquery/1.5.2');
}
?>
Vì vậy, nó có thể được thêm vào ngay từ đầu của tệp .module (được tải trước đó jquery_update
hoặc thử trong tệp cài đặt.