我正在尝试使用以下功能加载脚本:

$.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 */
    }
});


在“ mymy.js”中定义了“ readCookie”的地方,但是却收到未定义的“ readCookie”错误...

在这里12是我获得帮助的方法,但是它不起作用...有任何想法吗?

我确实使用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不是全局的;它仅在document.readymymy.js功能范围内可见。

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

09-26 07:38