Has you call wp_enqueue_script inside widget() function? perhaps you should enqueue the scripts in the footer.
@desirity
Has you tried to call into a init action?
add_action('init', 'my_register');
function my_register() {
// your code
}
@desirity
It seems that your archive.php has not the same HTML structure than the index.php file.
In the archive.php there is not this tag:
<div class=”inner-content main-content”>
Hope it helps you
@desirity