setTimeout问题仅出现在Safari中

时间:2012-05-02 16:15:02

标签: jquery safari settimeout

我有一个奇怪的问题,只在Safari中出现 (我使用的是5.1.4)。我有以下代码提交登录表单:

    $('#login-submit').click(function(e) {
        e.preventDefault();
        xDomainUtils.setIframeProxy('showLoginLoader');
        setTimeout(function() { 
            $('#login-form').submit();
        }, 1000);
    });

登录永远不会在Safari中出现。加载gif只是旋转和旋转。我已经使用Safari开发人员工具来逐步执行代码,并且在}, 1000);行之后似乎失败了。它不会抛出任何JavaScript错误 - 它几乎就像JavaScript在此之后停止运行一样。

我知道当您无法看到整个代码库时很难提供反馈 - 我只是想知道这是否是Safari的已知问题。谢谢你的建议!

1 个答案:

答案 0 :(得分:-1)

我的猜测是,您在xDomainUtils的呼叫未在Safari中定义。这是一个提示:转到Safari首选项>高级并勾选“菜单栏中的显示开发菜单”。然后去开发>显示Web Inspector(或键入command-option-i)。在控制台选项卡下(或通过点击转义),您可以看到javascript生成的所有错误和警告。