如何在IE中使用Javascript取消/停止文件上传

3
我有一个页面有两个表单,其中一个是不可见的,包含。我使用隐藏表单上传文件(表单的目标是iframe元素)。我的问题是如何在IE下使用javascript停止/取消文件上传。我尝试使用JQuery删除隐藏表单,但文件仍在上传。
提前感谢。

尝试移除 iframe,或将 iframe 的位置设置为不同的 URL。 - Gerben
3个回答

2

好的。我发现这个网站是为了寻找与我相同的问题,但是这些解决方案并没有适用于我的情况。我也有一个表单的iframe目标,并希望取消上传。由于某种原因(IE7),这些解决方案并没有起作用。我希望下面的内容能够帮到你。

问题在于从servlet发送的响应指示“文件过大”未触发目标iframe的onload事件。

尝试:

targetIframe.contentWindow.document.open()
targetIframe.contentWindow.document.close()

这样做可以欺骗iframe的onload事件,从而自动触发并取消上传。

1
感谢回复。 就我调试的情况而言,我得到了以下结果:)-无法取消上传。上述方法取消了页面接收响应,文件正在上传到服务器端。 这是我的原型标记:
<form id="form1" runat="server">
<div>
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>

<input type="button" id="button1" value="stopUpload" onclick="stopUpload()"/>
   <script type="text/javascript">

        function stopUpload() {               
            var frame = $get("iframe1");
            frame.contentWindow.document.execCommand("Stop");                
        }

    </script>
</div>
</form>
<form id="form2" enctype="multipart/form-data" action="http://localhost/TestingSite/Default.aspx"
method="POST" target="iframe1">
<input type="submit" />
<input type="file" name="FileUploadTest" id="FileUploadTest"/>
</form>
<iframe id="iframe1" name="iframe1" width="500px" height="500px" ></iframe>

为什么这个解决方案对我不起作用,我停止了页面但上传过程仍在继续。 - Marwan

1

你可能需要类似于 window.stop()(应用于 iframe)的东西。

这个旧帖子 报告说,虽然 window.stop() 在 IE 中不起作用,但未记录的 window.document.execCommand("Stop") 在 IE5 中可以使用。

你还可以参考 这个 StackOverflow 页面,它基本上有相同的答案,尽管提出了一些其他技巧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接