window.Open打开弹出窗口而不是新窗口 [英] window.Open Open popup Instead of new window

查看:236
本文介绍了window.Open打开弹出窗口而不是新窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在jQuery中有一个ajax函数,我希望在完整的函数中在新窗口或标签中打开一个URL。

I have a, ajax function in jQuery and I want in complete function to open a url in a new window or tab.

<a href="#" onclick="Add('1','http://www.google.com');return false;">Link</a>

并且:

function Add(ID, url)
{
    var data = "{'ID' : '" + ID + "'}";
    $.ajax({
        type: "POST",
        url: "Function.ashx/Add",
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        complete: function ()
        {
           window.open(url);
        }
    });
}

window.open函数用作弹出窗口,但我想打开一个链接新窗户。 w3School示例工作正常。
但是我的浏览器将其检测为弹出窗口并阻止它。

我的代码出了什么问题?

window.open function works as popup but I want to open the link in a new window. w3School Example works prefect. But my browser detects it as a popup and blocks it.
What's wrong with my code?

推荐答案

为什么要专门等到AJAX调用完成加载URL?

Why do you specifically wait till the AJAX call completes to load the URL?

为什么不直接触发AJAX调用并直接打开新窗口。

Why not simply trigger the AJAX call and open the new window directly after.

示例:

<a href="#" onclick="Add('1','http://www.google.com');return false;">Link</a>

 

function Add(ID, url)
{
    var data = "{'ID' : '" + ID + "'}";
    $.ajax({
        type: "POST",
        url: "Function.ashx/Add",
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    });

    window.open(url);
}

这篇关于window.Open打开弹出窗口而不是新窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆