2009-11-01 76 views
1

我需要动态地添加脚本引用页面,所以我这样做:添加脚本引用到使用jQuery

jQuery('html head').append("<script src='somesource.com/somejs.js'><\/script>") 

和简化版,它的工作 - 我没有得到任何错误,但我可以不执行该脚本中定义的任何方法。

任何想法我做错了什么?

回答

1

没有看到上下文中的脚本,这是很难说,但可能包括:

  1. 你的URL错误(你有什么似乎是域名,但在URI中没有协议)
  2. 你正在尝试使用这些函数,而不允许浏览器下载和运行脚本的时间(所以它们没有在当时被定义你给他们打电话)
+0

您已经确定了其中一个问题 - 在我从该脚本调用方法之前,浏览器没有足够的时间下载脚本。 – Andrey 2009-11-02 04:38:48

-2

你需要一个类型= '文/ JavaScript的':

jQuery('html head').append("<script type='text/javascript' src='somesource.com/somejs.js'><\/script>") 
+1

尽管这在技术上是真实的(在HTML 4.x和XHTML 1.x中),浏览器错误中恢复,所以这不是故障的原因。 – Quentin 2009-11-01 21:54:42

+0

我测试过的所有现代浏览器都不在乎如何指定脚本类型。 – Andrey 2009-11-02 15:35:49

5

jQuery有一个getScript方法:

$(document).ready(function() { 
    $.getScript('somesource.com/somejs.js'); 
}); 
+0

$ .getScript在我的问题中做了很多我在做的事情,但是在一个较短的语句中,因此您得到了一个观点:) – Andrey 2009-11-02 04:40:56