jQuery.getScript()无法加载函数

我正在尝试使用以下函数加载脚本:

$.getScript('/js/mymy.js').done(function(){ if(readCookie('my_cookie', 'yes')){ /* do sth here */ } }); 

要么

 $.getScript('/js/mymy.js',function(){ if(readCookie('my_cookie', 'yes')){ /* do sth here */ } }); 

其中“readCookie”在mymy.js中定义,但我收到错误“readCookie”未定义…

这里1和2是我得到帮助怎么做,但它不起作用……任何想法?

我确实使用jQuery 1.8.0

mymy.js确实包含一个函数:

 jQuery(document).ready(function() { function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } /** There is sth much more here **/ ... /** There is sth much more here **/ }); 

readCookie未定义,因为readCookie不是全局的; 它只在mymy.jsdocument.ready函数范围内mymy.js

通过删除document.ready包装器使函数全局化。

来自文档 :

一旦脚本加载但未必执行,则会触发回调。

换句话说,在执行加载的脚本之后,不能依赖success函数显式调用,例如,将其函数放入全局范围。


在您编辑之后(IMO应该是您首先发布的内容),您实际上有两个问题; 正如所写,它只限于 JQ的DOM就绪函数。)