Membuka Tab atau Jendela Baru di Browser dengan Open Window

Membuka Tab atau Jendela Baru di Browser dengan Open Window
Photo by Brett Jordan / Unsplash

Saat membuat aplikasi berbasis web, terkadang kita perlu membuka halaman baru dalam tab atau jendela terpisah. Misalnya, ketika pengguna mengklik tautan eksternal atau ingin melihat pratinjau dokumen dalam jendela terpisah. Dalam JavaScript, kita bisa menggunakan metode window.open() untuk melakukan hal ini dengan mudah.

Metode window.open() memungkinkan kita untuk membuka tab baru, jendela baru, atau bahkan popup dengan berbagai pengaturan. Artikel ini akan membahas cara menggunakan window.open(), opsi yang tersedia, serta contoh penerapannya.

Cara Menggunakan window.open()

Metode dasar window.open() digunakan sebagai berikut:

window.open("https://example.com");

Kode di atas akan membuka halaman baru dengan URL yang ditentukan di tab baru atau jendela baru, tergantung pada pengaturan browser.

Kita juga bisa menambahkan parameter tambahan untuk mengontrol bagaimana jendela/tab baru dibuka.

Sintaks Lengkap

window.open(url, target, fitur);
Parameter Deskripsi
url URL halaman yang akan dibuka
target Lokasi atau cara jendela dibuka (misalnya _blank, _self)
fitur Opsi tambahan seperti ukuran, posisi, scrollbars

1. Membuka Tab Baru

Jika ingin membuka halaman di tab baru, gunakan _blank sebagai target.

<button onclick="window.open('https://example.com', '_blank');">Buka Tab Baru</button>

Ketika tombol diklik, halaman baru akan dibuka dalam tab terpisah.

2. Membuka Jendela Baru dengan Ukuran Tertentu

Kita bisa mengontrol ukuran dan posisi jendela baru dengan parameter fitur.

window.open("https://example.com", "_blank", "width=600,height=400,top=100,left=200");

Kode ini akan membuka jendela berukuran 600x400 piksel, dengan posisi 100 piksel dari atas dan 200 piksel dari kiri layar.

Contoh Implementasi di HTML

<button onclick="bukaJendela()">Buka Jendela Kecil</button>
<script>
    function bukaJendela() {
        window.open("https://example.com", "_blank", "width=500,height=300,resizable=yes,scrollbars=yes");
    }
</script>

Tombol ini akan membuka jendela kecil dengan opsi resizable (bisa diubah ukurannya) dan scrollbars (jika konten melebihi ukuran jendela).

3. Membuka Halaman di Jendela yang Sama

Jika ingin membuka halaman di jendela atau tab yang sama, gunakan _self.

window.open("https://example.com", "_self");

Kode ini akan mengarahkan pengguna ke halaman baru di tab atau jendela yang sedang aktif.

4. Membuka Popup (Tanpa Bilah Alamat dan Navigasi)

Jika ingin membuka popup tanpa bilah alamat, tombol navigasi, dan menu browser, gunakan pengaturan tambahan:

window.open("https://example.com", "popup", "width=500,height=300,toolbar=no,menubar=no,status=no");
Catatan: Browser modern sering memblokir popup kecuali jika dibuka melalui aksi pengguna (misalnya, klik tombol).

5. Menutup Jendela dengan window.close()

Kita juga bisa menutup jendela atau tab yang dibuka menggunakan window.close(). Namun, ini hanya berfungsi jika halaman dibuka menggunakan window.open().

<button onclick="tutupJendela()">Tutup Jendela</button>
<script>
    function tutupJendela() {
        window.close();
    }
</script>

Ketika tombol diklik, jendela/tab yang dibuka dengan window.open() akan tertutup.

Kapan Harus Menggunakan window.open()?

✅ Jika ingin membuka halaman eksternal di tab baru agar pengguna tetap berada di halaman utama.
✅ Jika ingin membuka jendela dengan ukuran khusus untuk pratinjau dokumen atau tampilan tertentu.
✅ Jika ingin membuka popup dengan informasi tambahan, seperti form login atau notifikasi.
❌ Jangan gunakan jika ingin navigasi halaman utama, karena lebih baik menggunakan window.location.href.

Kesimpulan

  • window.open() digunakan untuk membuka tab atau jendela baru secara dinamis.
  • Dapat digunakan untuk membuka halaman di tab baru, jendela dengan ukuran khusus, atau popup.
  • Menggunakan window.close() dapat menutup jendela yang sebelumnya dibuka dengan window.open().
  • Beberapa browser mungkin memblokir popup yang tidak dibuka melalui interaksi pengguna.

Dengan memahami cara kerja window.open(), kita bisa membuat pengalaman pengguna yang lebih dinamis dan interaktif di aplikasi web kita!