与文档加载后jQuery加载的方式类似,JavaScript脚本完成后需要一定的jQuery。在JavaScript脚本完成后加载jQuery脚本
我正在从Google Data API加载联系人数据,并且数据显示的div需要完全加载(通过javascript)才能被jQuery访问(如果我是对的)。
有没有办法做到这一点?
与文档加载后jQuery加载的方式类似,JavaScript脚本完成后需要一定的jQuery。在JavaScript脚本完成后加载jQuery脚本
我正在从Google Data API加载联系人数据,并且数据显示的div需要完全加载(通过javascript)才能被jQuery访问(如果我是对的)。
有没有办法做到这一点?
假设您正在等待Google Analytics加载。现在,您知道当Google Analytics加载时,_gaq将在DOM上注册。因此,除非所有其他(更好)的异步选项,您可以创建一个等待_gaq存在的函数:
waitForGaq = function(fn, attemptsLeft) {
var tick = attemptsLeft || 30;
if (typeof(_gaq) != 'object' || !_gaq._getAsyncTracker) {
//_gaq isn't registered yet
if (tick > 1) {
//recurse
setTimeout(function() {
waitForGaq(fn, tick - 1);
}, 100)
}
else {
//no ticks left, log error
log('failed to load window.gaq');
}
}
else {
//gaq is loaded, fire fn
fn();
}
}
因此,任何代码需要运行后_gaq被注册,你可以添加到页面正是如此:
waitForGaq(function() {
//here's all my code...
});
重申:递归像这仅仅是必要的,如果你要添加的脚本不提供与库交互的异步方式。谷歌分析为一体,是怎样的一个没有实际意义例子,因为它提供了一个更简洁的方法:
http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html
后直接原来你需要运行
<script src="foo" id="bar">
$("#bar").after(
$("<script>").text("some code")
);
如果我理解正确的jQuery代码注入一个标签,你想要做的事,如:
<script>
// your javascript code
</script>
<script>
//your jquery code
</script>
javascript完成后做了什么?你想要做什么? – Victor 2011-02-02 23:48:16
“JavaScript脚本完成后”的意思是什么?你的意思是,在一些特定的JavaScript函数调用返回后? – Pointy 2011-02-02 23:48:33