我会这样做(诚然,这并不理想,但我认为这可能是最容易阅读的)。
创建可能需要的所有条件脚本的数组,并使用wp_localize_script
(在3.3中,您将能够使用逻辑性更强的别名wp_add_script_data
像discussed here).
$conditional_scripts = array(
\'spinner\' => get_stylesheet_directory_uri().\'/js/spinbox.js\',
\'datepicker\' => get_stylesheet_directory_uri().\'/js/datepicker.js\'
// etc, etc, etc.
);
/* You could tie the variables to anything, since I assume you\'re just using
an inline script. But including it as a "localization" of modernizr makes
as much sense as anything. */
wp_localize_script( \'modernizr\', \'modernizrScripts\', $conditional_scripts );
然后只需在Modernizr测试中访问这些变量:
<script>
Modernizr.load([
{
test : Modernizr.inputtypes.number,
nope : modernizrScripts.spinner,
complete: function() {
jQuery(\'.html5-number\').spinbox();
}
},
{
test : Modernizr.inputtypes.date,
nope : modernizrScripts.datepicker,
complete: function() {
jQuery(\'.html5-date\').datepicker();
}
}
]);
</script>