我开始在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:未定义的变量:$
答案 0 :(得分:2)
您的脚本是异步加载的,并且在页面加载时可能还没有准备好,因此窗口范围内还没有$ / jQuery。
由于你正在使用jQuery,你可以轻松地使用它的$(document).ready()或只是$(),因为它也可以在页面加载后调用。
这是一个简单的script.onload处理程序,它可以在两个脚本都可用时触发jQuery的ready(): http://jsfiddle.net/qaYJF/