onclick = "window.open () не работает для нескольких URL - PullRequest
0 голосов
/ 28 апреля 2020
var minutes = 0;
var seconds = 3;
url = 'https://www.google.com';
url2 = 'https://www.yahoo.com';
link_name = '<div class="j">Download File</div>'
var timer = setInterval(function () { myCounter() }, 1000);
function myCounter() {

  if (minutes > 59 || minutes < 0) {
    document.getElementById("time").innerHTML = "<font color='red'>Please check the minutes variable, Set it in between 0 to 59</font>";
  } else {
    seconds--;
    if (seconds == 0) {
      minutes = minutes - 1;
      seconds = 60;
    }
    document.getElementById("time").innerHTML = minutes + " Minutes " + seconds + " Seconds";
    if (minutes == -1) {
      clearTimeout(timer);
      document.getElementById("time").innerHTML = "<h3>Tile</h3>";
      document.getElementById("data").innerHTML = "<a href='" + url + "' onclick='window.open(" + url2 + ")'>" + link_name + "</a>";
    }
  }
}

Привет, ребята. Я хочу посетить google.com на домашней вкладке и yahoo.com на новой вкладке, если нажать «Загрузить файл». Не беспокойтесь об этом отсчете javascript. Просто я хочу исправить эту фразу. document.getElementById("data").innerHTML="<a href='"+url+"' onclick='window.open("+url2+")'>"+link_name+"</a>"; Я пробовал много раз, но мог заходить только на google.com. Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Нет необходимости, если условия. Просто ..

// -- Function to visit two sites

function multi(url1, url2) {
window.open(url2);
window.location.href = url1;
}

document.getElementById("data").innerHTML = '<a onclick="multi(url, url2)">cLICK</a>\n';

Теперь это 1000% рабочее доказательство !!! Большое спасибо, мистер Энрике Родригес !

0 голосов
/ 28 апреля 2020

Вы можете использовать функцию, которая позволяет открывать два сайта одновременно. По умолчанию то, что вы хотите. В противном случае, если вы хотите открыть в разных вкладках, вы должны поставить true для третьего параметра.

// -- Function to visit two sites

function multi(url1, url2, twoTabs = false) {


    if(twoTabs) {

        window.open(url1);

    } else {

        window.location.href = url1;

    }

    window.open(url2);

}

// -- -- --

Теперь обычно это должно работать. Я добавил пропущенную минуту.

// -- Function to visit two sites

function multi(url1, url2, twoTabs = false) {


    if(twoTabs) {

        window.open(url1);

    } else {

        window.location.href = url1;

    }

    window.open(url2);

}

// -- -- --


var seconds = 3;
var minutes = 0;
url = 'https://www.google.com';
url2 = 'https://www.yahoo.com';
link_name = '<div class="j">Download File</div>'
var timer = setInterval(function () {
    myCounter()
}, 1000);

function myCounter() {

    if (minutes > 59 || minutes < 0) {
        document.getElementById("time").innerHTML = "<font color='red'>Please check the minutes variable, Set it in between 0 to 59</font>";
    } else {
        seconds--;
        if (seconds == 0) {
            minutes = minutes - 1;
            seconds = 60;
        }
        document.getElementById("time").innerHTML = minutes + " Minutes " + seconds + " Seconds";
        if (minutes == -1) {
            clearTimeout(timer);
            document.getElementById("time").innerHTML = "<h3>Tile</h3>";
            /* document.getElementById("data").innerHTML = "<a href='" + url + "' onclick='window.open(" + url2 + ")'>" + link_name + "</a>";*/
            document.getElementById("data").innerHTML = '<div onclick="multi(url, url2)">Clic</div>\n';
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...