Javascript dapatkan jendela dengan nama

JavaScript tidak mengizinkan seseorang untuk menutup jendela yang dibuka oleh pengguna, menggunakan jendela tersebut. metode close() karena masalah keamanan. Namun, kita dapat menutup jendela dengan menggunakan solusi. Pendekatan yang harus diikuti adalah dengan membuka URL saat ini menggunakan JavaScript sehingga bisa ditutup dengan skrip

Mendekati. Langkah-langkah di bawah ini menunjukkan pendekatan ini

  • Membuka jendela baru menggunakan metode open(). Pertama, kita perlu membuka jendela baru menggunakan jendela. buka() metode. URL saat ini dapat diakses menggunakan properti location dari objek window. Atribut target atau nilai nama jendela diberikan sebagai _self. Ini penting karena membuat URL menggantikan halaman saat ini
  • Tutup jendela yang terbuka ini menggunakan metode close(). Jendela. metode close() menutup jendela tempat ia dipanggil. Jendela yang dibuka pada langkah pertama ditutup dengan menggunakan metode ini. Ini berfungsi karena jendela sekarang telah dibuka oleh skrip kami, bukan oleh pengguna

Catatan. Pendekatan ini mungkin tidak berfungsi di semua browser karena penerapan keamanan browser yang berbeda

…Dan itu akan membuka jendela baru dengan URL yang diberikan. Sebagian besar browser modern dikonfigurasikan untuk membuka url di tab baru, bukan di jendela terpisah

Munculan ada dari zaman yang sangat kuno. Ide awalnya adalah menampilkan konten lain tanpa menutup jendela utama. Sampai sekarang, ada cara lain untuk melakukan itu. kami dapat memuat konten secara dinamis dengan mengambil dan menampilkannya dalam <div> yang dihasilkan secara dinamis. Jadi, popup bukanlah sesuatu yang kita gunakan setiap hari

Selain itu, munculan rumit pada perangkat seluler, yang tidak menampilkan banyak jendela secara bersamaan

Namun, ada tugas di mana popup masih digunakan, mis. g. untuk otorisasi OAuth (masuk dengan Google/Facebook/…), karena

  1. Munculan adalah jendela terpisah yang memiliki lingkungan JavaScript independennya sendiri. Jadi membuka sembulan dari situs pihak ketiga yang tidak tepercaya itu aman
  2. Sangat mudah untuk membuka popup
  3. Munculan dapat menavigasi (mengubah URL) dan mengirim pesan ke jendela pembuka

Di masa lalu, situs jahat sering menyalahgunakan popup. Halaman yang buruk dapat membuka banyak jendela sembulan dengan iklan. Jadi sekarang sebagian besar browser mencoba memblokir popup dan melindungi pengguna

Sebagian besar browser memblokir munculan jika dipanggil di luar penangan peristiwa yang dipicu pengguna seperti

// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
0

Sebagai contoh

// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};

Dengan cara ini pengguna agak terlindungi dari sembulan yang tidak diinginkan, tetapi fungsinya tidak sepenuhnya dinonaktifkan

Sintaks untuk membuka popup adalah.

// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
_1

urlSebuah URL untuk memuat ke jendela baru. nameNama jendela baru. Setiap jendela memiliki
// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
_2, dan di sini kita dapat menentukan jendela mana yang akan digunakan untuk popup. Jika sudah ada jendela dengan nama seperti itu – URL yang diberikan terbuka di dalamnya, jika tidak, jendela baru akan dibuka. paramsString konfigurasi untuk jendela baru. Ini berisi pengaturan, dibatasi oleh koma. Tidak boleh ada spasi di params, misalnya.
// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
_3

Setelan untuk

// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
_4

  • Posisi
    • // popup blocked
      window.open('https://javascript.info');
      
      // popup allowed
      button.onclick = () => {
        window.open('https://javascript.info');
      };
      5 (numerik) – koordinat sudut kiri atas jendela di layar. Ada batasan. jendela baru tidak dapat diposisikan di luar layar
    • // popup blocked
      window.open('https://javascript.info');
      
      // popup allowed
      button.onclick = () => {
        window.open('https://javascript.info');
      };
      6 (numerik) – lebar dan tinggi jendela baru. Ada batasan lebar/tinggi minimal, jadi tidak mungkin membuat jendela tak terlihat
  • Fitur jendela
    • // popup blocked
      window.open('https://javascript.info');
      
      // popup allowed
      button.onclick = () => {
        window.open('https://javascript.info');
      };
      7 (ya/tidak) – menampilkan atau menyembunyikan menu browser di jendela baru
    • // popup blocked
      window.open('https://javascript.info');
      
      // popup allowed
      button.onclick = () => {
        window.open('https://javascript.info');
      };
      8 (ya/tidak) – menampilkan atau menyembunyikan bilah navigasi browser (mundur, maju, muat ulang, dll) di jendela baru
    • // popup blocked
      window.open('https://javascript.info');
      
      // popup allowed
      button.onclick = () => {
        window.open('https://javascript.info');
      };
      9 (ya/tidak) – menampilkan atau menyembunyikan bidang URL di jendela baru. FF dan IE tidak mengizinkan untuk menyembunyikannya secara default
    • 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 (ya/tidak) – menampilkan atau menyembunyikan bilah status. Sekali lagi, sebagian besar browser memaksanya untuk ditampilkan
    • 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 (ya/tidak) – memungkinkan untuk menonaktifkan pengubahan ukuran untuk jendela baru. Tidak direkomendasikan
    • 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 (ya/tidak) – memungkinkan untuk menonaktifkan bilah gulir untuk jendela baru. Tidak direkomendasikan

Ada juga sejumlah fitur khusus browser yang kurang didukung, yang biasanya tidak digunakan. Periksa jendela. buka di MDN untuk contoh

Mari kita buka jendela dengan serangkaian fitur minimal, hanya untuk melihat browser mana yang memungkinkan untuk dinonaktifkan

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);

Di sini sebagian besar "fitur jendela" dinonaktifkan dan jendela diposisikan di luar layar. Jalankan dan lihat apa yang sebenarnya terjadi. Kebanyakan browser "memperbaiki" hal-hal aneh seperti nol

// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
6 dan offscreen
// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
5. Misalnya, Chrome membuka jendela seperti itu dengan lebar/tinggi penuh, sehingga menempati layar penuh

Mari tambahkan opsi pemosisian normal dan koordinat

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,
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,
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,
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

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);

Sebagian besar browser menampilkan contoh di atas sesuai kebutuhan

Aturan untuk pengaturan yang dihilangkan

  • Jika tidak ada argumen ke-3 dalam panggilan
    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, atau kosong, maka parameter jendela default akan digunakan
  • Jika ada string parameter, tetapi beberapa fitur
    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 dihilangkan, maka fitur yang dihilangkan diasumsikan memiliki nilai
    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. Jadi jika Anda menentukan params, pastikan Anda secara eksplisit menyetel semua fitur yang diperlukan ke ya
  • Jika tidak ada
    // popup blocked
    window.open('https://javascript.info');
    
    // popup allowed
    button.onclick = () => {
      window.open('https://javascript.info');
    };
    5 di params, maka browser mencoba membuka jendela baru di dekat jendela yang terakhir dibuka
  • Jika tidak ada
    // popup blocked
    window.open('https://javascript.info');
    
    // popup allowed
    button.onclick = () => {
      window.open('https://javascript.info');
    };
    _6, maka jendela baru akan berukuran sama dengan yang terakhir dibuka

Panggilan

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 mengembalikan referensi ke jendela baru. Itu dapat digunakan untuk memanipulasi propertinya, mengubah lokasi, dan bahkan lebih banyak lagi

Dalam contoh ini, kami menghasilkan konten popup dari JavaScript

let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Hello, world!");

Dan di sini kami memodifikasi konten setelah memuat

let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};

Tolong dicatat. segera setelah

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);
_5, jendela baru belum dimuat. Itu ditunjukkan oleh
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 sejalan
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. Jadi kami menunggu
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);
_8 untuk memodifikasinya. Kita juga bisa menggunakan penangan
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 untuk
let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Hello, world!");
0

Kebijakan asal yang sama

Windows dapat dengan bebas mengakses konten satu sama lain hanya jika mereka berasal dari asal yang sama (protokol yang sama. //domain. Pelabuhan)

Jika tidak, e. g. jika jendela utama dari

let newWin = window.open("about:blank", "hello", "width=200,height=200");

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

newWin.document.write("Hello, world!");
2, itu tidak mungkin untuk alasan keamanan pengguna. Untuk detailnya, lihat bab Komunikasi lintas jendela

Munculan juga dapat mengakses jendela "pembuka" menggunakan referensi

let newWin = window.open("about:blank", "hello", "width=200,height=200");

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

newWin.document.write("Hello, world!");
_4 untuk semua jendela kecuali munculan

Jika Anda menjalankan kode di bawah ini, itu menggantikan konten jendela pembuka (saat ini) dengan "Test"

let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write(
  "<script>window.opener.document.body.innerHTML = 'Test'<\/script>"
);

Jadi koneksi antar jendela bersifat dua arah. jendela utama dan popup memiliki referensi satu sama lain

Untuk menutup jendela.

let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Hello, world!");
5

Untuk memeriksa apakah jendela ditutup.

let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Hello, world!");
6

Secara teknis, metode

let newWin = window.open("about:blank", "hello", "width=200,height=200");

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

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

newWin.document.write("Hello, world!");
9 diabaikan oleh sebagian besar browser jika
let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Hello, world!");
8 tidak dibuat dengan
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
1. Jadi itu hanya akan bekerja pada popup

Properti

let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
_2 adalah
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
3 jika jendela ditutup. Itu berguna untuk memeriksa apakah popup (atau jendela utama) masih terbuka atau tidak. Seorang pengguna dapat menutupnya kapan saja, dan kode kita harus mempertimbangkan kemungkinan itu

Kode ini memuat dan kemudian menutup jendela

let newWindow = open('/', 'example', 'width=300,height=300');

newWindow.onload = function() {
  newWindow.close();
  alert(newWindow.closed); // true
};

Ada metode untuk memindahkan/mengubah ukuran jendela

let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
4Pindahkan jendela relatif ke posisi saat ini
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
5 piksel ke kanan dan
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
6 piksel ke bawah. Nilai negatif diperbolehkan (bergerak ke kiri/atas).
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
7Pindahkan jendela ke koordinat
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
8 di layar.
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
9Ubah ukuran jendela dengan diberikan
// popup blocked
window.open('https://javascript.info');

// popup allowed
button.onclick = () => {
  window.open('https://javascript.info');
};
6 relatif terhadap ukuran saat ini. Nilai negatif diperbolehkan.
let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write(
  "<script>window.opener.document.body.innerHTML = 'Test'<\/script>"
);
1Ubah ukuran jendela ke ukuran yang diberikan

Ada juga acara

let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write(
  "<script>window.opener.document.body.innerHTML = 'Test'<\/script>"
);
_2

Hanya munculan

Untuk mencegah penyalahgunaan, browser biasanya memblokir metode ini. Mereka hanya bekerja dengan andal pada munculan yang kami buka, yang tidak memiliki tab tambahan

Tidak ada minifikasi/maksimalisasi

JavaScript tidak memiliki cara untuk memperkecil atau memaksimalkan jendela. Fungsi tingkat OS ini disembunyikan dari pengembang Frontend

Metode pemindahan/pengubahan ukuran tidak berfungsi untuk jendela yang dimaksimalkan/diminimalkan

Kami sudah berbicara tentang menggulir jendela di bab Ukuran jendela dan menggulir

let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write(
  "<script>window.opener.document.body.innerHTML = 'Test'<\/script>"
);
3Gulir jendela
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
5 piksel ke kanan dan
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
6 ke bawah relatif gulir saat ini. Nilai negatif diperbolehkan.
let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write(
  "<script>window.opener.document.body.innerHTML = 'Test'<\/script>"
);
6Gulir jendela ke koordinat yang diberikan
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
8.
let newWin = window.open("about:blank", "hello", "width=200,height=200");

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

newWin.document.write(
  "<script>window.opener.document.body.innerHTML = 'Test'<\/script>"
);
9 muncul di bagian atas (default) atau di bagian bawah untuk
let newWindow = open('/', 'example', 'width=300,height=300');

newWindow.onload = function() {
  newWindow.close();
  alert(newWindow.closed); // true
};
0

Ada juga acara

let newWindow = open('/', 'example', 'width=300,height=300');

newWindow.onload = function() {
  newWindow.close();
  alert(newWindow.closed); // true
};
_1

Secara teoritis, ada

let newWindow = open('/', 'example', 'width=300,height=300');

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

newWindow.onload = function() {
  newWindow.close();
  alert(newWindow.closed); // true
};
3 metode untuk fokus/tidak fokus pada jendela. Dan ada juga
let newWindow = open('/', 'example', 'width=300,height=300');

newWindow.onload = function() {
  newWindow.close();
  alert(newWindow.closed); // true
};
4 acara yang memungkinkan untuk menangkap momen ketika pengunjung fokus pada jendela dan beralih ke tempat lain

Meskipun, dalam praktiknya mereka sangat terbatas, karena di masa lalu halaman-halaman jahat menyalahgunakannya

Misalnya, lihat kode ini

window.onblur = () => window.focus();

Saat pengguna mencoba untuk keluar dari jendela (

let newWindow = open('/', 'example', 'width=300,height=300');

newWindow.onload = function() {
  newWindow.close();
  alert(newWindow.closed); // true
};
5), jendela akan kembali fokus. Tujuannya adalah untuk "mengunci" pengguna dalam
let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Hello, world!");
8

Jadi browser harus memperkenalkan banyak batasan untuk melarang kode seperti itu dan melindungi pengguna dari halaman iklan dan kejahatan. Mereka bergantung pada browser

Misalnya, peramban seluler biasanya mengabaikan

let newWindow = open('/', 'example', 'width=300,height=300');

newWindow.onload = function() {
  newWindow.close();
  alert(newWindow.closed); // true
};
2 sepenuhnya. Pemfokusan juga tidak berfungsi saat munculan terbuka di tab terpisah, bukan di jendela baru

Namun, ada beberapa kasus penggunaan saat panggilan semacam itu berfungsi dan dapat bermanfaat

Contohnya

  • Saat kita membuka munculan, sebaiknya jalankan
    let newWindow = open('/', 'example', 'width=300,height=300');
    
    newWindow.onload = function() {
      newWindow.close();
      alert(newWindow.closed); // true
    };
    8 di atasnya. Untuk berjaga-jaga, untuk beberapa kombinasi OS/browser memastikan bahwa pengguna berada di jendela baru sekarang
  • Jika kami ingin melacak kapan pengunjung benar-benar menggunakan aplikasi web kami, kami dapat melacak
    let newWindow = open('/', 'example', 'width=300,height=300');
    
    newWindow.onload = function() {
      newWindow.close();
      alert(newWindow.closed); // true
    };
    9. Itu memungkinkan kami untuk menangguhkan/melanjutkan aktivitas dalam halaman, animasi, dll. Namun perlu diketahui bahwa peristiwa
    window.onblur = () => window.focus();
    _0 berarti bahwa pengunjung keluar dari jendela, tetapi mereka masih dapat mengamatinya. Jendela berada di latar belakang, tetapi masih dapat terlihat

Jendela sembulan jarang digunakan, karena ada alternatif. memuat dan menampilkan informasi dalam halaman, atau dalam iframe

Jika kita akan membuka munculan, praktik yang baik adalah memberi tahu pengguna tentang hal itu. Ikon "jendela pembuka" di dekat tautan atau tombol akan memungkinkan pengunjung bertahan dari pergeseran fokus dan mengingat kedua jendela

  • Munculan dapat dibuka dengan panggilan ________72______1. Ini mengembalikan referensi ke jendela yang baru dibuka
  • Browser memblokir
    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 panggilan dari kode di luar tindakan pengguna. Biasanya akan muncul notifikasi, agar pengguna dapat mengizinkannya
  • Browser membuka tab baru secara default, tetapi jika ukuran disediakan, maka itu akan menjadi jendela sembulan
  • Munculan dapat mengakses jendela pembuka menggunakan properti
    let newWin = window.open("about:blank", "hello", "width=200,height=200");
    
    newWin.document.write("Hello, world!");
    3
  • Jendela utama dan popup dapat dengan bebas membaca dan memodifikasi satu sama lain jika memiliki asal yang sama. Jika tidak, mereka dapat mengubah lokasi satu sama lain dan bertukar pesan

Untuk menutup munculan. gunakan

let newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Hello, world!");
_7 panggilan. Pengguna juga dapat menutupnya (sama seperti jendela lainnya).
window.onblur = () => window.focus();
5 adalah
let newWindow = open('/', 'example', 'width=300,height=300')
newWindow.focus();

alert(newWindow.location.href); // (*) about:blank, loading hasn't started yet

newWindow.onload = function() {
  let html = `<div style="font-size:30px">Welcome!</div>`;
  newWindow.document.body.insertAdjacentHTML('afterbegin', html);
};
3 setelah itu

Bagaimana cara mendapatkan referensi jendela dengan nama di JavaScript?

Anda dapat mengaksesnya berdasarkan nama dengan mereferensikan jendela. frames['myIframeName'] atau jendela. bingkai.

Bagaimana cara mendapatkan jendela di JavaScript?

jendela. open() - membuka jendela baru. jendela. tutup() - tutup jendela saat ini. jendela. moveTo() - memindahkan jendela saat ini. jendela. resizeTo() - mengubah ukuran jendela saat ini.

Bagaimana cara menemukan nama jendela?

Tekan tombol logo Windows + X untuk melihat daftar perintah dan opsi. Klik Sistem. Nama komputer muncul di bawah Pengaturan nama komputer, domain, dan grup kerja .

Bagaimana cara mendapatkan nama jendela induk di JavaScript?

Bagaimana cara menemukan judul jendela induk di javascript? . alert(window. orang tua. orang tua.