【问题标题】:Onclick: open .exe in new window while redirecting to another pageOnclick:在重定向到另一个页面时在新窗口中打开 .exe
【发布时间】:2012-08-17 09:00:57
【问题描述】:

我正在尝试构建一个下载按钮,单击该按钮时,将在新窗口中开始下载文件,同时重定向到原始窗口中的“您当前正在下载”页面。我需要它以这种方式工作而不是从“您当前正在下载”页面重定向到下载文件的原因有很多。

我的代码在 IE、Chrome 和 Firefox 中运行良好,但无法在 Safari 中启动 setup.exe。

jQuery(window).load(function() {
    var link = $j('#slider_download_link a')[0];
    link.href = 'setup.exe'; // This link is dependent on the browser and OS. For example, on Mac I'd link to the Mac App Store
    link.target = "_blank";
    link.onclick = RedirectToDownloadingPage;
});

function RedirectToDownloadingPage()
{
    location.href="/downloading";
    return true;
}

有什么建议吗?谢谢!

【问题讨论】:

    标签: javascript jquery safari cross-browser


    【解决方案1】:

    一旦点击处理程序被触发,页面导航就会开始,Safari 显然会停止对当前页面执行任何其他操作,包括让您的链接触发。因此,延迟点击处理程序,直到使用setTimeout() 激活链接之后:

    function RedirectToDownloadingPage()
    {
        setTimeout(function()
        {
            location.href="/downloading";
        }, 100);
        return true;
    }
    

    在我的实验中,0 的超时值就足够了,但为了安全起见,稍微增加它可能是个好主意。像100 这样的东西就足够了。

    【讨论】:

      猜你喜欢
      • 2010-12-27
      • 1970-01-01
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 2012-12-18
      • 2010-09-21
      相关资源
      最近更新 更多