JavaScript URL.origin — джерело адреси
Властивість origin повертає джерело — протокол, домен і порт разом: https://css.in.ua.
Загальний опис
Це те, за чим браузер розрізняє сайти. Політика одного джерела (same-origin) не дозволяє сторінкам із різних джерел лізти одна в одну — і саме origin тут одиниця виміру.
Важливо: різний протокол чи різний порт — це вже інше джерело, навіть якщо домен той самий. http://site.com і https://site.com — чужі одне одному.
Саме цю властивість треба порівнювати в обробнику message, перевіряючи event.origin.
- Порада
-
Найкоротша перевірка «чи це посилання на наш сайт»:
автор: NagarDnew URL(href, location.href).origin === location.origin.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 32 | 26 | 10 | 19 | 12 | — |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4.3 | 32 | 26 | 10 |
| Переглядач | ||
|---|---|---|
| 6.13.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Зовнішні посилання позначаємо, свої — ні.
const url = new URL('https://css.in.ua:443/css/property/gap');
console.log(url.origin); // 'https://css.in.ua' — типовий порт прибрано
// позначаємо зовнішні посилання
for (const link of document.querySelectorAll('a[href]')) {
const target = new URL(link.href, location.href);
if (target.origin !== location.origin) {
link.rel = 'noopener';
link.target = '_blank';
}
}
Коментарі
Коментарів ще немає — будьте першим!