javascript代码未在新标签页中打开

时间:2015-02-03 10:16:40

标签: javascript jquery

我发现许多关于打开窗口作为新标签而不是新窗口的论坛帖子但没有用。当我点击一个链接/东西..目前它是在一个新窗口打开但我想要一个选项卡而不是窗口。

以下是我的示例代码:

$(document).on('click', '#myTabs li', function (event) {
    if ($(event.target).attr('class') != 'closeIcon') {
        var temp_id = $(this).attr('id');
        selectedId = temp_id.substring(0, temp_id.length - 6);
        $('input:radio[id=all]').prop('checked', true);

        loadAll();
    }
});

function loadAll() {
    var clientForm = document.createElement("form");
    var target = "Map" + (windowCount++);
    clientForm.target = target;
    clientForm.method = "POST"; // or "post" if appropriate
    clientForm.action = "../Test.jsp";

    var idInput = document.createElement("input");
    idInput.type = "hidden";
    idInput.name = "id";
    idInput.value = id;
    clientForm.appendChild(idInput);
    document.body.appendChild(clientForm);

    var nameDisplay = document.createElement("input");
    nameDisplay.type = "hidden";
    nameDisplay.name = "idText";
    nameDisplay.value = idText;
    clientForm.appendChild(nameDisplay);
    document.body.appendChild(clientForm);

    var dateDisplay = document.createElement("input");
    dateDisplay.type = "hidden";
    dateDisplay.name = "dateText";
    dateDisplay.value = dateText;
    clientForm.appendChild(dateDisplay);
    document.body.appendChild(clientForm);

    map = window.open('', target, '_blank');
    map = window.open("", target, "status=0,title=0,height=600,width=800,scrollbars=1");

    if (map) {
        clientForm.submit();
    } else {
        alert('You must allow popups for this map to work.');
    }
}

1 个答案:

答案 0 :(得分:0)

我在你的代码中看到了这一行,它指定了新窗口的宽度和高度:

map = window.open("", target, "status=0, title=0,height=600,width=800,scrollbars=1");

当您指定宽度和高度时,浏览器将始终在新窗口中打开而不是新标签。

如果您指定了三个参数,您的语句将始终打开一个新窗口,而不是新标签。

你的发言应该是:

window.open(<URL>, '_blank');

您可以找到更多详情here