这是阻止用户下载文件时IE8安全标题出现的最佳方法吗?

时间:2012-09-21 14:42:52

标签: javascript html internet-explorer-8 download security

我将iframe的src属性设置为下载URL,然后使用appendChild将iframe添加到页面主体以触发下载。如果下载的URL完全合格,即“http://example.abc.com/download/”,则下载将触发安全栏。如果网址是“http:// example / download /”,则下载将在没有安全栏的情况下完成。

有人可以解释这是怎么发生以及为什么会发生这种情况?我知道当页面试图从不同于页面网址的网址下载文件时,IE8会抛出安全栏,但我不认为这会是挑剔的。此外,当前页面网址是完全合格的,所以我认为我得到的结果将被颠倒。

为了避开安全标语,仅仅删除整个域的一部分是一个很好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

避免安全警告的最简单方法是在新窗口中打开下载网址,而不是<iframe>

例如:

HTML:

<a href='//www.example.com/your_download' onclick='init_download(this.href);return false' target='_blank'>Test</a>

的JavaScript

function init_download(link) {
    window.open(link, '_blank', 'toolbar=0,location=no,directories=0,status=0,scrollbars=0,resizeable=0,width=1,height=1,top=0,left=0');
    window.focus();
}

View this example at JS Bin

相关问题