Opera userJS中的jQuery

时间:2012-01-14 07:40:32

标签: jquery opera userjs

我开始在Opera学习UserJS。为了测试,我尝试连接jQuery库和jQuery UI,但它没有用。这是代码:

(function( ) {
    var headID = document.getElementsByTagName("head")[0];         
    var newScript = document.createElement('script');
    newScript.type = 'text/javascript';
    newScript.id = 'myjQuery';
    newScript.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
    headID.appendChild(newScript);

    newScript = document.createElement('script');
    newScript.type = 'text/javascript';
    newScript.id = 'myjQuery2';
    newScript.src = 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js';
    headID.appendChild(newScript);

    alert('first alert');
    window.addEventListener('load', function (e)  {
        $('body').html('test page');
    }, false);
})( );

首先提醒工作。两个库连接到页面,但jQuery代码不起作用。有什么问题?

PS。我收到一个错误:ReferenceError:未定义的变量:$

1 个答案:

答案 0 :(得分:2)

您的脚本是异步加载的,并且在页面加载时可能还没有准备好,因此窗口范围内还没有$ / jQuery。

由于你正在使用jQuery,你可以轻松地使用它的$(document).ready()或只是$(),因为它也可以在页面加载后调用。

这是一个简单的script.onload处理程序,它可以在两个脚本都可用时触发jQuery的ready(): http://jsfiddle.net/qaYJF/