相关疑难解决方法(0)

使用JavaScript在新选项卡(而不是新窗口)中打开URL

我试图在新选项卡中打开一个URL,而不是弹出窗口.我已经看到相关的问题,其中的回答看起来像:

window.open(url,'_blank');
window.open(url);
Run Code Online (Sandbox Code Playgroud)

但是它们都没有为我工作,浏览器仍然试图打开一个弹出窗口.

javascript

1941
推荐指数
19
解决办法
240万
查看次数

同步Ajax - Chrome在可信事件上是否超时?

情况

我们有一种情况,我们需要在执行XHR/Ajax请求后在浏览器中打开一个新选项卡.

我们通过将Ajax请求设置为同步执行以保持受信任的click事件的上下文来实现此目的,这样可以正常工作.

问题

但是,在最新的Chrome版本(36)中,当Ajax调用有一些延迟时,我们会遇到弹出警告... 2秒的延迟足以让Chrome显示弹出警告,而不是像预期的那样打开标签.代码本身正常工作,我可以多次单击该按钮,它一直有效,直到请求遇到一些延迟.然后我得到弹出警告......

是否存在应用于同步Ajax请求的超时,在此期间需要完成它以使可信事件仍然可用?

有没有办法规避这个?毕竟,呼叫已经同步并冻结其他所有内容,直到结果到来.

谢谢.

更新JSFiddle

更新:我已经创建了一个JSFiddle来演示这个问题:http://jsfiddle.net/23JNw/9/

/**
* This method will give open the popup without a warning.
*/
function performSlowSyncronousRequest() {
    $.ajax({
     url: '/echo/html',
     data: {delay: 2}, //JSfiddle will delay the answer by 2 seconds
     success: function(){
         window.open('http://www.thirtykingdoms.com'); //this causes the popup warning in Chrome
     },
     async: false
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax google-chrome popup synchronous

15
推荐指数
1
解决办法
7327
查看次数

如何在新标签中打开链接?使用JavaScript或jQuery.没有阻止弹出窗口的浏览器警报

我想使用JavaScript或jQuery打开一个新选项卡.

我试过这段代码:

window.open("myurl", '_blank');
Run Code Online (Sandbox Code Playgroud)

但浏览器让我警告弹出窗口被阻止.

我必须打开新选项卡而不会弹出阻止警报.

每个客户端都不允许弹出窗口.

有人可以帮我吗?

html javascript jquery

2
推荐指数
2
解决办法
2万
查看次数

在新的Chrome标签页中打开PDF Blob(Angular 2)

我正在加载PDF如下(我正在使用Angular 2,但我不确定这是否重要..):

//Inside a service class
downloadPdf = (id): Observable<Blob> => {
    let headers = new Headers();
    headers.append("Accept", "application/pdf");
    return this.AuthHttp.get(this.pdfURL + id, {
        headers: headers,
        responseType: ResponseContentType.Blob
    }).map(res => new Blob([res.blob()], {type: "application/pdf"}));
}

//Inside a click handler
this.pdfService.downloadPdf(this.id).subscribe((data: Blob) => {
        let fileURL = window.URL.createObjectURL(data);
        window.open(fileURL);
    });
Run Code Online (Sandbox Code Playgroud)

这段代码在Firefox中运行良好.在Chrome中,新标签会暂时闪烁并关闭.当我调试并手动将冲浪放到对象URL时,Chrome可以很好地打开它.

我在这做错了什么?

亲切的问候,

Ewout.

pdf google-chrome angular

2
推荐指数
1
解决办法
8084
查看次数

标签 统计

javascript ×3

google-chrome ×2

ajax ×1

angular ×1

html ×1

jquery ×1

pdf ×1

popup ×1

synchronous ×1