Otwórz URL w nowym oknie z JavaScriptem

130

Tworzę „przycisk udostępniania”, aby udostępnić bieżącą stronę. Chciałbym pobrać aktualny adres URL strony i otworzyć go w nowym oknie. Obecna część adresu URL działa, ale nie mogę uruchomić następnej części.

Zmagam się ze składnią. Chciałbym określić nowy rozmiar okna na width=520, height=570.

Coś jak:

<a target="_blank"
   href="https://www.linkedin.com/cws/share?mini=true&amp;url=[sub]" 
   onclick="this.href = this.href.replace('[sub]',window.location)">
    LinkedIn
</a>

Jakieś pomysły?

Mark Mitchell
źródło

Odpowiedzi:

218

Zastosowanie window.open():

<a onclick="window.open(document.URL, '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes');">
  Share Page
</a>

Spowoduje to utworzenie linku zatytułowanego, Share Pagektóry otwiera aktualny adres URL w nowym oknie o wysokości 570 i szerokości 520.

citruspi
źródło
jak ustawić wysokość i szerokość okna na zero, jeśli
ustawię
jak otworzyć je jako zwykłe okno zamiast wyskakującego okienka? ponieważ nie można otworzyć nowej karty
Ashok kumar Ganesan
@AkshathaSrinivas minimalna wysokość to 100
Oscar Acevedo
56

Po prostu użyj window.open()funkcji? Trzeci parametr pozwala określić rozmiar okna.

Przykład

var strWindowFeatures = "location=yes,height=570,width=520,scrollbars=yes,status=yes";
var URL = "https://www.linkedin.com/cws/share?mini=true&amp;url=" + location.href;
var win = window.open(URL, "_blank", strWindowFeatures);
Shiplu Mokaddim
źródło
shiplu.mokadd.im Wydaje mi się, że to jest to, czego potrzebuję, ale nie jestem pewien, dokąd to zmierza.
Mark Mitchell,
2
@MarkMitchell Jeśli nie dbasz o standardy kodowania - do onclickatrybutu. Nieco lepszą opcją jest utworzenie funkcji, którą wywołujesz z onclick. Używanie getElementByIdi addEventListenerjest nadal czystsze. Korzystanie z jQuery w celu uzyskania krótszej składni (i kilku innych funkcji + mnóstwo wtyczek) jest również bardzo popularne.
John Dvorak
Jak to jest czwarty parametr? Dla mnie wygląda to na trzecie. Czy coś mi brakuje?
CoderDennis,
@CoderDennis Niezły chwyt. Naprawione.
Shiplu Mokaddim,
cześć, jak mogę wywołać zdarzenie zamknięcia okna?
Dilakshan Sooriyanathan
2

Nie należy mylić, jeśli nie podasz żadnych funkcji strWindowFeatures, to otworzy się w nowej karcie.

window.open('https://play.google.com/store/apps/details?id=com.drishya');
Ankit Kumar Rajpoot
źródło