代码之家  ›  专栏  ›  技术社区  ›  Zathrus Writer

JS函数调用在Chrome和Opera(JS+JQuery)中不起作用

  •  1
  • Zathrus Writer  · 技术社区  · 16 年前

    我似乎无法使用以下功能 铬合金和歌剧 (Windows XP上的最新版本)。 代码是:

    $.getScript('/js/modules/'+module+'.js', function() {
        setTimeout('window.'+module+'_init()', 800);
    });
    

    一切似乎都正常,脚本加载,init函数存在(该setTimeout语句中的一些调试警报验证了 “window.module初始化” 真的是一个 功能 )但功能无法运行。

    我试着在init函数的开头放置一个简单的警报,只留下一个警报-没有任何帮助。

    我必须说我对此感到很困惑,因为在火狐和MSIE下,这一切都很好。

    仅供参考,外部JS文件中的init函数如下所示:

    function notifications_init() {
        alert('test');
    }
    

    “ 通知 “是上面我的”module“变量的值

    非常感谢您的任何建议:—)

    3 回复  |  直到 16 年前
        1
  •  1
  •   epascarello    16 年前
    setTimeout(window[module+'_init'], 800);
    
        2
  •  0
  •   tdammers    16 年前

    setTimeout('window.'+module+'_init', 800);

        3
  •  0
  •   Peter    16 年前

    $.getScript

    notifications_init()

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            alert('start');
            var module = 'test';
            $.getScript('/Scripts/' + module + '.js', function () {
                alert('script was loaded and executed');
                setTimeout('window.' + module + '_init()', 800);
            });
            alert('finish');
        });
    </script>
    

    function test_init() {
        alert('test function');
    }