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.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| origin | 32+ | 26+ | 7+ | 19+ | 12+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| origin | 32+ | yes | yes | 7+ |
Приклади
+ запропонувати свій приклад у пісочниці
Зовнішні посилання позначаємо, свої — ні.
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';
}
}
Коментарі
Коментарів ще немає — будьте першим!