我在页面中嵌入了美味的Feed。当我在div中添加脚本标签时,它显然会在我的其余JS之前加载(在页面底部)。我想在加载所有其他j之后动态地将这个脚本加载到指定的div中。
我已经尝试了getscript函数,但是当它与.html()一起使用时,肯定会破坏页面:
$('#delicious').html(function(){
$.getScript("http://feeds.delicious.com/v2/js/bayonnebridge?title=My%20Delicious%20Bookmarks&icon=m&count=5&sort=date&tags&extended&name&showadd");
});
我似乎无法理解如何将该文件的结果打印到#delicious div中。
答案 0 :(得分:3)
如果你想在div中显示脚本,不应该是这样的,利用回调函数吗?
$.getScript("http://feeds.delicious.com/v2/js/bayonnebridge?title=My%20Delicious%20Bookmarks&icon=m&count=5&sort=date&tags&extended&name&showadd",
function(data){
$('#delicious').html(data);
});
$.getScript()
的结果是XMLHTTPRequest
对象,而您似乎想要响应文本。
此外,看起来您提供的URL的响应会尝试将脚本写入文档,从而覆盖您的所有页面内容。这是您的问题,您可以考虑使用iframe
并将此网址设置为源。
我似乎也会得到不同的行为,具体取决于脚本是跨域加载还是来自同一个域 - 我不太清楚要做什么,因为getScript()
应该交叉工作域。
答案 1 :(得分:1)
听起来你想要使用类似窗口加载事件的东西。尝试添加如下所示的处理程序:
$(window).load(function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "http://feeds.delicious.com/v2/js/bayonnebridge?title=My%20Delicious%20Bookmarks&icon=m&count=5&sort=date&tags&extended&name&showadd";
$('#delicious').append(script);
});
查看jQuery .load() API了解详情。