当前位置: 首页 > 面试题库 >

在AngularJS中设置window.location或window.open可使IE 11中的“访问被拒绝”

周墨一
2023-03-14
问题内容

我当然是AngularJS的新手,但是我找不到为什么此代码可在Chrome和Firefox中工作的原因,但却"Access is denied"在IE
11的JavaScript控制台中给出了原因。

我需要通过经过身份验证的REST调用来显示PDF。理想情况下,它将以弹出(预览)类型的窗口显示。

到目前为止的代码如下:

$http.post( url, payload, {
    headers : {
        "Authorization": token
    }, 
    responseType: "arraybuffer"
}).success(function ( data ) {
    var file = new Blob( [ data ], { type: 'application/pdf' });
    var fileURL = URL.createObjectURL( file );
    window.open( fileURL );
}

window.open()给出了"access is denied"对IE11的消息,但在Chrome和Firefox的作品。我尝试更改为window.location(),并遇到了相同的错误。

这不是跨域问题(一切都在同一个foo.net域中)。


问题答案:

看起来IE阻止了blob上的window.open,但是实现了自己的功能来打开和保存blob。试一试

if (window.navigator && window.navigator.msSaveOrOpenBlob) {
    window.navigator.msSaveOrOpenBlob(blob);
}
else {
    var objectUrl = URL.createObjectURL(blob);
    window.open(objectUrl);
}


 类似资料:
  • 问题内容: 在看到phpMyAdmin生成的默认密码使用了mysql_native_password并因此在使用相同密码时哈希没有改变,我更新了一个用户的密码并将哈希设置为SHA256。 当我尝试使用设置的密码再次登录时,它说: mysqli_real_connect():(HY000 / 1045):用户’xxxx’@’xxxx’的访问被拒绝(使用密码:是)。 服务器使用https,而phpMy

  • 我尝试了所有命令来推送我的映像docker集线器,但失败了。每次我都遇到相同的问题 请帮帮我。。。。

  • 问题内容: 这是我的编辑从第27行到第39行的代码: 我认为我的问题可能与Win7教授有关:(访问被拒绝) 如何解决这个问题,或者我需要做些什么或阅读才能使它起作用? 谢谢你不燃烧。 我只是更改了文件夹选项,使我获得完整的(Access …),现在我只需要弄清楚为什么在运行javac VendingMachine.java时为什么没有得到任何输出,我想是有一个新问题。 问题答案: 您的工作目录为。

  • 问题内容: 我正在尝试读取文件夹中的文件,但是当我运行该程序时,它将引发此异常。我也尝试了其他一些文件夹。它引发相同的异常。 问题答案: 您无法打开和读取目​​录,无法使用和方法区分文件和文件夹。您可以使用和方法获取文件夹的内容(分别用于文件名和s),还可以指定一个过滤器来选择列出的文件的子集。

  • 我正在使用wamp服务器,我的phpMyAdmin页面返回了以下错误。 Wamp服务器版本:2.2 MySQL版本:5.5.24 #1045-用户“root”@“本地主机”的访问被拒绝(使用密码:是) 我编辑了我的配置文件wamp\app\phpmyadmin4.1.14\config.inc.php: 但这并没有解决问题。任何帮助都将不胜感激。