У меня есть большой, который показывает случайный фрагмент текста из файла .json при каждом нажатии. Теперь иногда текст включает ссылки, которые открываются в новой вкладке. Работает отлично!
Однако я бы хотел, чтобы функция onclick не выполнялась при открытии новой вкладки. Так же, как если бы пользователь открыл ссылку, щелкнув правой кнопкой мыши и открыв новую вкладку.
Это возможно с использованием простого JavaScript? Я включаю функцию selectPodcast - чтобы показать, как генерируется ссылка.
Как я понимаю: я давно не программирую, и мне бы хотелось узнать, как мой код выглядит для опытного программиста. Я думаю, это довольно мило, например, когда ребенок начинает формировать предложения: -)
Я пытался добавить a.onclick = "return false;"; в функцию selectPodcast, но это не сработало.
function getPodcast() {
var url = "json/podcasts.json";
var request = new XMLHttpRequest();
request.open("GET", url);
request.onload = function() {
if (request.status == 200) {
selectPodcast(request.responseText);
}
};
request.send(null);
};
function selectPodcast(responseText) {
var items = JSON.parse(responseText);
var choice = [Math.floor(Math.random() * items.length)];
var title = items[choice].title;
var link = items[choice].link;
var description = items[choice].description;
var a = document.createElement("a");
var br = document.createElement("br");
var p = document.createElement("p");
a.href = link;
a.target = "_blank";
a.innerHTML = title;
p.innerHTML = description;
var div = document.getElementById("podcast");
div.innerHTML = "";
div.appendChild(a);
div.appendChild(br);
div.appendChild(p);
};