JS властивість Object.self
Загальний опис
self
- це властивість об'єкта Window
у мові програмування JavaScript. Ця властивість визначає посилання на поточний об'єкт, яке може бути корисним в різних сценаріях програмування. В основному, self
використовується для звернення до поточного вікна чи фрейму, і вона може бути використана для отримання доступу до властивостей та методів об'єкта Window
.
Використання self
може бути корисним у випадках, коли розробнику необхідно звертатися до об'єкта Window
, але йому не важливо, чи це вікно чи фрейм. Це забезпечує універсальність коду в різних сценаріях, де можуть бути використані різні вікна чи фрейми.
Приклад використання:
// Отримання URL поточної сторінки через self
const currentURL = self.location.href;
console.log(currentURL); // Виведе URL поточної сторінки
// Зміна розміру вікна за допомогою self
self.resizeTo(800, 600);
У цьому прикладі self
використовується для отримання URL поточної сторінки та зміни розміру вікна. Це може бути корисно, наприклад, при необхідності здійснення динамічних змін у вікні без прив'язки до конкретного елемента.
Робота з фреймами:
// Отримання фрейму за допомогою self
const frame = self.frames[0];
// Зміна URL фрейму
frame.location.href = 'newpage.html';
У випадках, коли на сторінці використовуються фрейми, self
може бути корисним для роботи з ними. У вищеприведеному прикладі self.frames[0]
дозволяє отримати доступ до першого фрейму на сторінці та змінити його URL.
Використання self
може спрощувати код, особливо в ситуаціях, де важко визначити, яке саме вікно або фрейм є поточним. Враховуючи його універсальність, розробники можуть створювати більш гнучкий та масштабований код, який може легко адаптуватися до різних умов та вимог веб-додатків.
Порада: | Використовуйте
|
Порада: | Використовуйте
|
Порада: | Уникайте використання
|
Порада: | Використовуйте |
Синтаксис
window.self
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
3 |
12.1 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
- |
- |
Приклади
У цьому прикладі ми використовуємо властивість window.self
для перевірки, чи поточне вікно є верхнім вікном (window.top
). Це корисно для сценаріїв, коли потрібно переконатися, що вміст не відображається у фреймі або в iframe.
if (window.self === window.top) {
console.log("Це верхнє вікно, не iframe або фрейм.");
} else {
console.log("Це iframe або фрейм.");
}
У цьому прикладі ми створюємо функцію, яка перенаправляє користувача на іншу веб-сторінку, але лише якщо поточне вікно є верхнім вікном. Це важливо для уникнення проблем з безпекою, таких як "clickjacking", коли зловмисний контент може бути вбудованим у фрейм на іншому сайті.
function safeRedirect(url) {
if (window.self === window.top) {
window.location = url;
} else {
console.log("Редирект заблоковано, оскільки це не верхнє вікно");
}
}
// Використання функції
safeRedirect("https://example.com");