发送一个文件给用户,然后使用Javascript加载新的URL

Send a file to a user, THEN load new URL using Javascript

本文关键字:然后 Javascript 加载 URL 给用户 文件 一个      更新时间:2023-09-26

我需要为用户提供一个文件,并将它们带到一个新的URL。发送下载文件的代码在我的Submit处理程序中。我在Chrome和Firefox中这样做:

function submitMyForm() {
    document.forms[0].submit();
    window.open("http://www.myURL.com");
}

在Chrome和Firefox中,这工作得很好。它在一个新选项卡中打开myURL.com,并提示用户打开/保存我创建的文件。然而,在IE9中,myURL.com的新标签被打开,但下载提示是隐藏的,因为它弹出在旧的第一个标签的底部,用户看不到。

我试图修复这个问题,通过坚持只有一个选项卡,像这样:

function submitMyForm() {
    document.forms[0].submit();
    window.location.href = "http://www.myURL.com";
}

然而,这只是立即加载新的URL,而不调用我的submit()函数,几乎就像它完全忽略了那一行;这在所有浏览器中都会发生,甚至更糟。

一旦表单提交,当前页面上的所有操作都停止,除非您要提交到新页面(target=")或iframe.

我最终将target =" _blank"添加到我的表单中,并基于浏览器执行不同的功能。感谢这个页面帮助检测Chrome。

function submitform() {
    document.forms[0].submit();
    //Test for Chrome
    if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {
        //this works in Chrome
        window.open("http://www.myURL.com");
    }
    else {
        //this works in IE9 and Firefox
        window.location.href = "http://www.myURL.com";
    }
}
相关文章: