Href в javascript

Посмотрим я объясняюсь...

У меня есть вид, в котором у меня есть href, что приходит данная функцией javascript, что у меня есть в файле .js.

Случай состоит в том, что соединение производит верно, просто функцию javascript, у него есть один

window.location.href = "link que se genera"

Когда ты он кликаешь с левой кнопкой, соединение открывается в том же окне и закладке, но если ты выходишь ему на правую кнопку-> открывать в новой закладке это - то, за чем оно последует:

about:blank

в принципе у меня нет никакого prevent ничто из-за того, что ни было бы должно быть вмешиваясь с clicks я, ни управляло о них никакой формы, так как производится нормальный и текущий url.

Какая-то идея?

Код более или менее этот

В виде:

<a rel="nofollow"  href="javascript:link.Generator.go('<?echo$pageId?>')" class="automatic"></a>

И js:

go: function(id){
    window.location.href = baseUrl+'/id/'+id;
}
1
задан 20.01.2017, 18:59
1 ответ

Существует возможность того, чтобы ты выполнил в твоем Javascript следующую команду?

document.getElementById('enlace').setAttribute('href', baseUrl+'/id/'+id);

Где твоя ссылка была бы следующим:

<a rel="nofollow" id="enlace" href="#" class="automatic">Enlace</a>

Это распределит признак href не будучи должен кликать в ссылке, для того, чтобы он был распределен href.

3
ответ дан 03.12.2019, 17:36

После того, как имею генератор URL в одной funciГіn, я представляю, что это что-то, в чем ты нуждаешься в нескольких элементах, не единственно в одном. Идея состоит в том, чтобы в начало тебя aplicaciГіn ты пробежал все элементы, которые нуждаются в генераторе URL, и распределил им свойство href с URL, произведенный. Например, если cГіdigo твоих элементов a это следующий:

<a rel="nofollow" href="#" data-href="<?echo $pageId?>" class="automatic"></a>

PodrГ-Схвати пробегать все их и производить URL тех же самых принимая во внимание стоимость data-href. Что-то сходное со следующим snippet:

const baseUrl = "http://fakedomain.com";
const link = {
  Generator: {
    go: (id) => `${baseUrl}/id/${id}`
  }
};

document.querySelectorAll('.automatic').forEach(a => (a.href = link.Generator.go(a.dataset.href)));
<a rel="nofollow" href="#" data-href="200" class="automatic">Link 200</a><br>

<a rel="nofollow"  href="#" data-href="300" class="automatic">Link 300</a><br>

<a rel="nofollow"  href="#" data-href="400" class="automatic">Link 400</a>
1
ответ дан 24.11.2019, 11:32

Код html был бы этим

<a rel="nofollow"  oncontextmenu="link.Generator.go2('<?echo$pageId?>')" onclick="link.Generator.go('<?echo$pageId?>')"   class="automatic"></a>

И это были бы функции:

go: function(id){
    window.open(baseUrl+'/id/'+id);
}

go2: function(id){
    window.locationf=baseUrl+'/id/'+id;
}

oncontextmenu то, что он делает, состоит в том, чтобы называть функцию, когда он обнаруживает событие давания click права.

0
ответ дан 03.12.2019, 17:36
  • 1
    Это всегда будет способствовать тому, чтобы он открылся в новом окне. Не sé если тот, кто спрашивает, querrá это. –  20.01.2017, 18:21
  • 2
    с window.open () я abrirá соединение в новости pestañ в, когда я кликаю с botó n izquiero, но я это не хочу, с izquiero будь должен открываться в том же окне, и когда он кликнет с правом и использует opció n открываться в новом окне или pestañ к которому я убрал в сайт, что он перемещает, состоит в том, что он не ведет в сайт, оставляет about:blank –  20.01.2017, 18:22
  • 3
    Я заношу в список, понимаю тебя. То, что ты, должно быть, делаешь, состоит в том, чтобы выполнять две функции в том же botó n. Одна для левши и другой для права. Editaré мой ответ. –  20.01.2017, 18:26