In my template.php that exists in my theme directory I have this method:
function vocabt_process_page(&$vars) {
drupal_flush_all_caches();
// Try to add js per page
$alias = drupal_get_path_alias($_GET['q']);
$file = $vars['directory'].'/js/'.str_replace('/', '-', $alias).'.js';
if(file_exists($file)) {
drupal_add_js($vars['directory'].'/anythingslider/anythingslider.js');
drupal_add_js($vars['directory'].'/anythingslider/jquery.anythingslider.video.min.js');
drupal_add_js($file);
}
$vars['title_sub'] = '';
$vars['page_icon'] = '';
$content_class = array();
switch($alias) {
case 'home':
drupal_add_css(drupal_get_path('theme', 'vocabt') . '/anythingslider/css/anythingslider.css');
$test = drupal_add_js(NULL, NULL, NULL);
error_log(print_r($test,1));
unset($vars['title']);
break;
//other pages
}
if(drupal_match_path($alias, 'scores/admin/*')) {
// $vars['title_sub'] = 'Check your student\'s scores by entering your information below.';
$vars['page_icon'] = 'graph';
}
if($vars['page_icon']) {
$content_class[] = 'icon-65';
}
if($vars['page']['sidebar_right']) {
$content_class[] = 'twocol';
}
$vars['content_class'] = implode(' ', $content_class);
// Since the title and the shortcut link are both block level elements,
// positioning them next to each other is much simpler with a wrapper div.
if (!empty($vars['title_suffix']['add_or_remove_shortcut']) && $vars['title']) {
// Add a wrapper div using the title_prefix and title_suffix render elements.
$vars['title_prefix']['shortcut_wrapper'] = array(
'#markup' => '<div class="shortcut-wrapper clearfix">',
'#weight' => 100,
);
$vars['title_suffix']['shortcut_wrapper'] = array(
'#markup' => '</div>',
'#weight' => -99,
);
// Make sure the shortcut link is the first item in title_suffix.
$vars['title_suffix']['add_or_remove_shortcut']['#weight'] = -100;
}
}
Essentially the home page loads jquery, anythingslider.js, then home.js
within home.js I simply have:
(function($) {
$(document).ready(function() {
alert('asdf');
$('#gallery').anythingSlider();
});
})(jQuery);
My problem is that when I load the home page... I get a JS error saying:
Uncaught TypeError: Object [object Object] has no method 'anythingSlider'
This leads me to believe that the anythingslider library has not been correctly imported. Can someone tell me how to do this quick/dirty import of anythingslider.js successfully? (while keeping in mind it already is placed AFTER home.js). Thank you!
Try these....
You can add javascript on .info
scripts[] = javascript.js
2.Add javascript on template.php
drupal_add_js(drupal_get_path('theme', 'nameofthetheme') . '/js/jquery.js');
3.For exrenal javascripts
drupal_add_js('http://sitename.com/javascript.js', 'external'));
4.You may also use it in page.tpl.php use
<? php print drupal_get_js(); ?>.
you can also add JavaScript files in your module's by the hook_init() or hook_preprocess_page()
or hook_preprocess()
Hope this helps you...