Cara menggunakan innerhtml alternative mdn

Jendela popup adalah salah satu metode tertua untuk menampilkan tambahan dokumen kepada pengguna. Secara umum, kamu hanya menjalankan:

window.open('//javascript.info/')

…Dan akan terbuka jendela baru yang telah diberi URL, Kebanyakan peramban moderen akan membuka jendela baru bukannya jendela terpisah. Popup ada sejak jaman dahulu. Ide awalnya adalah untuk menampilkan konten lain tanpa menutup jendela utama. Saat ini, ada cara lain untuk melakukan hal tersebut: Kita bisa membuka konten secara dinamis dengan fetch dan menampilkannya di dalam sebuah // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };1 yang dihasilkan secara dinamis. Jadi popups adalah sesuatu yang tidak kita gunakan setiap hari.

Kemudian, popups itu rumit di perangkat seluler, karena tidak menampilkan beberapa jendela secara serempak.

Namun, ada tugas dimana popups masih digunakan, misalnya untuk otorisasi OAuth (masuk dengan Google/Facebook/…), karena:

  1. Popup adalah sebuah jendela terpisah dengan ekosistem Javascript independennya sendiri. Sehingga aman membuka popup dari situs pihak ketiga yang tidak terpercaya.
  2. Sangat mudah untuk membuka popup.
  3. Sebuah popup dapat menavigasi (merubah URL) dan mengirimkan pesan ke pembuka jendela.

Di masa lalu, situs jahat sering sekali menyalahgunakan popups. Sebuah halaman jahat dapat membuka banyak sekali jendela popup dengan iklan. Sehingga saat ini kebanyakan peramban mencoba untuk memblokir dan melindungi pengguna.

Kebanyakan peramban akan memblokir popups jika dipangil dari luar aktifitas yang dipicu oleh pengguna seperti // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };2.

Sebgai contoh:

// popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };

Dengan cara ini pengguna agak terlindungi dari popups yang tidak diinginkan dan fungsionalitasnya tidak dinonaktifkan secara total. Bagaimana jika popups dibuka dari // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };2, tetapi setelah // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };4 ? Hal ini sedikit rumit.

Coba kode berikut:

// terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);

Popup terbuka di Chrome, namun diblokir di Firefox.

…Jika kita mengurangi penundaan, popup akan bekerja di Firefox juga:

// open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);

Perbedaannya adalah Firefox memperlakukan sebuah timeout antara 2000ms atau kurang dari itu untuk dapat diterima, namun lebih dari itu – hilangkan “kepercayaan”, Firefox berasumsi bahwa saat ini “diluar kendali pengguna”. Sehingga yang pertama akan diblokir, dan yang kedua tidak.

Sintak untuk membuka popup adalah: // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };5: url : URL yang akan dimuat di dalam jendela baru.

namanama dari jendela baru. Setiap jendela memiliki sebuah // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };6, dan dengan ini kita bisa secara spesifik menentukan jendela mana yang digunakan untuk popup. Jika telah ada jendela menggunakan nama tersebut – URL akan menjadi gantinya, jika tidak jendela baru terbuka.parameterKonfigurasi untuk jendela baru. Mengandung pengaturan, yang dipisahkan dengan koma. Tidak boleh ada spasi di dalam parameter, sebagai contoh: // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };7.

Pengaturan untuk // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };8:

  • Posisi:
    • // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };9 (numeric) – mengatur sudut jendela atas-kanan di layar. Namun ada batasan: sebuah jendela baru tidak bisa diposisikan tersembunyi.
    • // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);0 (numeric) – Lebar dan tinggi dari jendela baru. Namun ada batasan pada Lebar/tinggi minimal, sehingga tidak mungkin untuk membuat jendela tidak terlihat.
  • Fitur jendela:
    • // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);1 (yes/no) – menampilkan atau menyembunyikan menu peramban pada jendela baru.
    • // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);2 (yes/no) – menampilkan atau menyembunyikan navigasi bar peramban (kembali, kedepan, isi ulang dan sebagainya) pada jendela baru.
    • // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);3 (yes/no) – menampilkan atau menyembunyikan URL pada jendela baru. FF dan IE tidak mengizinkan untuk meyembunyikan URL secara default
    • // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);4 (yes/no) – menampilkan atau menyembunyikan bar status. Sekali lagi kebanyakan peramban memaksa untuk menampilkannya.
    • // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);5 (yes/no) – mengizinkan atau menolak untuk merubah ukuran jendela baru. Tidak direkomendasikan.
    • // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);6 (yes/no) – mengizinkan atau menolak scrollbars. untuk jendela baru. Tidak direkomendasikan.

Ada juga sedikit dukungan untuk fitur spesifik peramban, Dimana biasanya tidak digunakan. Periksa window.open in MDN Sebagai contoh.

Mari buka jendela dengan pengaturan fitur paling sedikit untuk melihat fitur mana yang akan diizinkan atau tidak oleh peramban:

let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);

Dalam contoh kebanyakan “fitur jendela” telah dinonaktifkan dan jendela berada di luar layar. Jalankan dan lihat apa yang terjadi. Kebanyakan peramban akan “Memperbaiki” hal-hal yang ganjil seperti // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);0 yang kosong dan // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };9 yang keluar jendela. Sebagai contoh, Chrome membuka semacam jendela dengan lebar/tinggi penuh. sehingga akan menempati layar penuh.

Mari tambahkan opsi penempatan normal dan masuk akal untuk koordinat // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);9, // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);0, // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);1, // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);2:

let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);

Kebanyakan peramban menampilkan contoh diatas sesuai dengan yang diinginkan.

Aturan untuk penggaturan yang dihilangkan:

  • Jika tidak ada argumen ketiga di dalam pemanggilan // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);3, atau kosong, maka parameter default jendela yang akan digunakan.
  • Jika ada serangkaian parameter, namun sebagian fitur // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);4 diabaikan, maka fitur yang diabaikan akan diasumsikan untuk memiliki nilai // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);5. Sehingga jika anda menetapkan parameter, pastikan secara eksplisit anda telah menyetel semua fitur yang dibutuhkan ke yes.
  • Jika tidak ada // popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };9 di dalam parameter, maka peramban akan mencoba untuk membuka sebuah jendela baru didekat jendela yang terakhir terbuka.
  • Jika tidak ada // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);0, maka jendela baru akan memiliki ukuran yang sama seperti jendela yang terakhir terbuka.

Pemanggilan // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);8 mengembalikan referensi ke jendela baru. referensi itu bisa digunakan untuk memanipulasi properti, merubah lokasi dan melakukan hal lain yang lebih dari itu.

Pada contoh ini, kita menghasilkan popup konten dari Javascript:

let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");

Dan disini kita memodifikasi konten setelah dimuat:

let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };

Penting untuk dicatat: Segera setelah // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);9, saat itu jendela baru belum dimuat. Hal itu didemonstrasikan oleh let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);0 di baris let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);1, Sehingga kita menunggu untuk let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);2 untuk memodifikasinya. Kita juga bisa menggunakan handler let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);3 untuk let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);4.

Same origin policy

Jendela dapat dengan leluasa mengakses konten satu sama lain hanya jika mereka datang dari asal yang sama (protocol://domain:port yang sama) Jika tidak, semisal jendela utama datang dari let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);5, dan popup datang dari let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);6, hal ini mustahil dilakukan demi alasan keamanan penguna. Untuk lebih detail lihat bagian Cross-window communication.

Popup mungkin mengakses “pembuka” jendela menggunakan referensei let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);7. Ini akan menjadi let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);8 dari semua jendela kecuali popup. Jika code dibawah dijalankan, maka konten pembuka jendela saat ini akan dibuah menjadi “Test”:

let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write( "<script>window.opener.document.body.innerHTML = 'Test'<\/script>" );

Sehingga terjadi koneksi dua arah antara jendela: jendela utama dan popup memiliki sebuah referensi satu sama lain.

Untuk menutup sebuah jendela: let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`; open('/', 'test', params);9.

Untuk memeriksa apakah jendela sudah tertutup: let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);0.

Secara teknis, metode let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);1 tersedia pada setiap let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);2, namun let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);3 diabaikan oleh kebanyakan beramban jika let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);2 tidak dibuat dengan // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);9. Jadi hanya akan bekerja untuk popup.

properti let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);6 bernilai let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);7 jika jendela ditutup. Hal ini berguna untuk memeriksa apakah popup (atau jendela utama) masih terbuka atau tidak. seorang pengguna bisa menutupnya kapan saja, dan kode kita mengambil pertimbangan untuk diperhitungkan.

Code dibawah ini dimuat dan kemudian menutup jendela:

let newWindow = open('/', 'example', 'width=300,height=300'); newWindow.onload = function() { newWindow.close(); alert(newWindow.closed); // benar };

Ada metode untuk memindahkan/merubah ukuran sebuah jendela:

let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);8Memindahkan jendela ke posisi let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);9 piksel ke kanan dan let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");0 piksel kebawah. Nilai negatif dapat diterima (untuk memindahkan kiri/atas).let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");1Memindahkan jendela ke koordinat let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");2 di layar.let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");3Merubah ukuran jendela dengan memberikan // terbuka setelah 3 detik setTimeout(() => window.open('//google.com'), 3000);0 ke ukuran sat ini. Nilai negatif dapat diterima.let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");5Merubah ukuran jendela ke ukuran yang diberikan.

Ada juga let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");6 event.

Hanya popups

Untuk mencegah penyalahgunaan, peramban biasanya memblokir metode ini. Mereka hanya bekerja baik pada popup yang kami buka, yang tidak memiliki tab tambahan.

Tidak ada modifikasi/maksimasi

Javascript tidak memiliki cara untuk mengecilkan atau memaksimalkan sebuah jendela. fungsi OS-level ini tersembunyi dari pengembang frontend metode Move/resize tidak dapat berjalan pada jendela maximized/minimized.

Kami telah membicarakan tentang mengulir jendela di bagian Window sizes and scrolling. let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");7 : Gulir jendela let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);9 piksel ke kanan dan let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");0 kebawah terhadap posisi gulir saat ini. Nilai negatif dapat diterima. let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };0 : Scroll the window to the given coordinates let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write("Hello, world!");2.

let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };2Mengulir jendela untuk membuat let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };3 terlihat diatas atau di bawah dari let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };4, Kemudian ada juga event let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };5.

Secara teori, ada metode let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };6 dan let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };7 untuk memfokuskan/tidak fokus sebuah jendela. Dan ada juga even let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };8 yang mengizinkan untuk menangkap momen saat pegunjung fokus pada jendela dan berpindah ke tempat lain.

Meskipun, dalam praktiknya hal ini dibatasi, karena pada masa lalu halaman jahat menyalahgunakannya.

Sebagai contoh, lihat code ini:

// popup diblokir window.open('//javascript.info'); // popup diperbolehkan button. title = () => { window.open('//javascript.info'); };0

Mesikipun pengguna mencoba untuk berpindah dari jendela (let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };9), hal ini membawa jendela kembali fokus. Tujuanya adalah untuk “mengunci” pengguna selama berada di dalam let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);2.

Sehingga peramban harus memperkenalkan banyak batasan kode seperti ini dan melindungi pengguna dari iklan dan halaman jahat. Mereka bergantung ke peramban.

Sebagai contoh, sebuah peramban mobile pada umumnya mengabaikan let newWindow = open('/', 'example', 'width=300,height=300') newWindow.focus(); alert(newWindow.location.href); // (*) about:blank, loading belum dimulai newWindow.onload = function() { let html = `<div style="font-size:30px">Welcome!</div>`; newWindow.document.body.insertAdjacentHTML('afterbegin', html); };6. Dan fokus tidak bekerja saat sebuah popup terbuka di dalam tab yang terpisah daripada membuka sebuah jendela baru.

Masih ada beberapa kasus pengunaan menggunakan pangilan sejenis untuk menjalankan dan berguna.

Sebagai contoh:

  • Saat kita membuka popup, mungkin ide yang bagus untuk menjalankan let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write( "<script>window.opener.document.body.innerHTML = 'Test'<\/script>" );2. untuk beberapa kombinasi OS/peramban memastikan bahwa pengguna saat ini berada di dalam jendela baru
  • Jika kita ingin melacak kapan pengunjung mengunakan web-app, kita dapat melacak let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write( "<script>window.opener.document.body.innerHTML = 'Test'<\/script>" );3. Hal ini mengijinkan kita untuk menangguhkan / melanjutkan di dalam aktifitas animasi dan semacamnya. Tetapi tolong dicatat bahwa event let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write( "<script>window.opener.document.body.innerHTML = 'Test'<\/script>" );4 berarti pengunjung berpindah dari jendela, teteapi mereka mungkin masih mengamatinya. Jendela berada di latar belakang, namun mungkin masih dapat dilihat.

Jendela popup jarang digunakan, karena ada beberapa alternatif: memuat dan menampilkan informasi in-page, atau di dalam iframe.

Jika kita akan membuka popup, cara yang benar adalah dengan memberitahu pengguna tentang hal ini. Sebuah ikon “jendela terbuka” dekat tautan atau tombol yang mengizinkan pengunjung untuk tetap fokus dan ingat kedua jendela.

  • Popup dapat dibuka dengan pemanggilan let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write( "<script>window.opener.document.body.innerHTML = 'Test'<\/script>" );5. hal ini akan mengembalikan referensi untuk jendela yang lebih baru.
  • Peramban memblokir pemanggilan // open after 1 seconds setTimeout(() => window.open('//google.com'), 1000);3 dari kode yang berasal dari luar aksi pengguna. Biasanya notifikasi muncul, sehingga pengguna mungkin mengizinkannya.
  • Secara umum peramban membuka tab baru, tetapi jika ukuran disediakan, maka akan terbuka jendela popup.
  • Popup mungkin mengakses pembuka jendela menggunakan properti let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write( "<script>window.opener.document.body.innerHTML = 'Test'<\/script>" );7.
  • Jendela utama dan popup dapat secara bebas membaca dan memodifikasi satu sama lain jika mereka memiliki asal yang sama. Jika tidak mereka dapat merubah lokasi satu sama lain dan bertukar pesan.

Untuk menutuo popup: gunakan pemanggilan let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);1. Juga pengguna mungkin menutupnya (seperti jendela yang lain). let newWin = window.open("about:blank", "hello", "width=200,height=200"); newWin.document.write( "<script>window.opener.document.body.innerHTML = 'Test'<\/script>" );9 adalah let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; open('/', 'test', params);7 setelahnya.

Postingan terbaru

LIHAT SEMUA