Javascript - Bir düğmeyi tıklayarak belirli bir URL'yi yeni bir sekmede açın


109

Belirli bir URL'ye yeniden yönlendiren ve yeni bir sekmede açılan bir düğmeye sahip olmak istiyorum. Bu nasıl yapılabilir?

Yanıtlar:


144

Bunu kullan:

<input type="button" value="button name" onclick="window.open('http://www.website.com/page')" />

Benim için çalıştı ve yeni bir tam tarayıcı veya sekme yerine gerçek bir yeni 'açılır' pencere açacak. Ayrıca, belirli tarayıcı özelliklerini göstermesini engellemek için aşağıdaki gibi değişkenler ekleyebilirsiniz:

onclick="window.open(this.href,'popUpWindow','height=400,width=600,left=10,top=10,,scrollbars=yes,menubar=no'); return false;"

2
@ wong2 Bunun cevabını değiştirmek isteyebilirsiniz. Şu anda seçilenin verimli olması çok uzak.
CSS

54

JavaScript'te şunları yapabilirsiniz:

window.open(url, "_blank");

29

Target = "_ blank" eklemek bunu yapmalıdır:

<a id="myLink" href="www.google.com" target="_blank">google</a>

3
Anlıyorum, özür dilerim bunu kaçırdım. Bağlantıyı bir düğme gibi görünecek ve hissettirecek şekilde biçimlendirebilirsiniz. JQuery UI kullanıyorsanız , bunu yapmak için sadece düğmesini kullanın.
Tim Büthe

1
Sadece web tasarımıyla uğraşan büyük çoğunluğumuz için mükemmel bir çözüm! Teşekkür ederim!
SMBiggs

1
+1, çünkü basit bir "bağlantı yeni sekmede aç" yanıtı arayanlara, düğme kullanmıyorlarsa iyi bir çözüm sundunuz.
user295583058

Tam olarak istediğim gibi. Teşekkürler
Shahrukh Anwar

+1, bir şey yeni sekmede bir sayfa açarsa, mantıksal olarak bir bağlantıdır, dolayısıyla <a>etiket uygundur. Bir düğme gibi görünmesi için stiller kullanılmalıdır.
Kos

21

JavaScript'i kullanmayı unutabilirsiniz çünkü tarayıcı yeni bir sekmede açılıp açılmayacağını kontrol eder. En iyi seçeneğiniz bunun yerine aşağıdakine benzer bir şey yapmaktır:

<form action="http://www.yoursite.com/dosomething" method="get" target="_blank">
    <input name="dynamicParam1" type="text"/>
    <input name="dynamicParam2" type="text" />
    <input type="submit" value="submit" />
</form>

Bu, bir istemcinin target="_blank"öznitelik nedeniyle hangi tarayıcıyı kullandığına bakılmaksızın her zaman yeni bir sekmede açılacaktır .

İhtiyacınız olan tek şey dinamik parametreler olmadan yeniden yönlendirme target="_blank"yapmaksa, Tim Büthe'nin önerdiği gibi niteliğe sahip bir bağlantı kullanabilirsiniz .


1
Gerektiği gibi çalışır (krom, firefox, IE10 üzerinde test edilmiştir) :)
Zeeshan

10

Yeni bir pencere veya sekme açmak window.openyerine kullanın window.location(tarayıcı ayarlarına bağlı olarak).

Kemanınız çalışmıyor çünkü buttonseçilecek bir öğe yok . input[type=button]Düğmeye bir deneyin veya verin idve kullanın #buttonId.


10

Tercih ettiğim yöntem, işaretlemenize yerleştirilmiş JavaScript olmaması avantajına sahiptir:

CSS

a {
  color: inherit;
  text-decoration: none;
}

HTML

<a href="http://example.com" target="_blank"><input type="button" value="Link-button"></a>

Sanırım yeni bir tercih edilen yöntemim var.
Halter

Sanırım bu soruya daha doğru cevap veriyor. +1 :)
Pramesh Bajracharya

3

JavaScript kullanarak yeni sekmede açın

 <button onclick="window.open('https://www.our-url.com')" id="myButton" 
 class="btn request-callback" >Explore More  </button>

1

Form etiketi altında sadece target = "_ blank" kullandım ve FF ve Chrome ile iyi çalıştı, burada yeni bir etikette açıldı, ancak IE ile yeni bir pencerede açılıyor.


1
Bir sekmenin veya pencerenin açılıp açılmayacağı kullanıcının tarayıcı seçeneklerine göre belirlenir. IE hakkında bilgim yok, ancak çoğu tarayıcıda web sayfası bağlantının bir sekmede mi yoksa bir pencerede mi açılacağını seçemez, ancak kullanıcı bunu yapılandırabilir.
joeytwiddle

0

bunu dene

<a id="link" href="www.gmail.com" target="_blank" >gmail</a>

-1

Bu HTML'yi deneyin:

<input type="button" value="Button_name" onclick="window.open('LINKADDRESS')"/>

-5

Yapamazsın. Bu davranış yalnızca eklentiler için geçerlidir ve yalnızca kullanıcı tarafından yapılandırılabilir.


-5
<BUTTON NAME='my_button' VALUE=sequence_no TYPE='SUBMIT' style="background-color:transparent ; border:none; color:blue;" onclick="this.form.target='_blank';return true;"><u>open new page</u></BUTTON>

Bu düğme bir URL gibi görünecek ve yeni bir sekmede açılabilir.


"form" eklemeniz gerekiyor
nerkn

Bir bağlantı gibi davranacak bir düğmeye sahip olmak (anlamsal olarak) iyi bir fikir değildir. Bunun yerine aetiketini kullanın .
Henrique Schreiner

-6

Bu kodu KULLANIN

function openBackWindow(url,popName){
        var popupWindow = window.open(url,popName,'scrollbars=1,height=650,width=1050');
          if($.browser.msie){
            popupWindow.blur();
            window.focus();
        }else{
           blurPopunder();
        }
      };

    function blurPopunder() {
            var winBlankPopup = window.open("about:blank");
            if (winBlankPopup) {
                winBlankPopup.focus();
                winBlankPopup.close()
            }
    };

BT, Mozilla, IE ve Chrome'da ve 22'den az sürümde sorunsuz çalışır; ancak Opera ve Safari'de çalışmaz.


2
Bu en iyi cevap değil! Katı -1.
Shougo Makishima

1
Bu kodu kullanmak gerçekten bir cevap değildir ve arkasında hiçbir motivasyonunuz yoktur.
Edeph
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.