Показать сообщение отдельно
  #1 (permalink)  
Старый 24.02.2017, 09:50
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Detect "allow-top-navigation" in iframe
Доброго времени суток, коллеги!

Есть у кого-нибудь идеи, как можно определить внутри iframe, что ему разрешено менять top.location? Т.е. либо не выставлен вообще sandbox, либо выставлен с "allow-top-navigation".

"allow-scripts" легко детектится с помощью document.domain. А вот с "allow-top-navigation" появились проблемы.

Конечно же, на ум сразу пришла такая идея:

try {
    window.top.location.href = 'http://google.ru';
}
catch(e) {
    console.log(false);
}


Но в этом случае, при "allow-top-navigation" будет происходить редирект. Мне же нужно просто узнать, можно ли сделать редирект в top, и в зависимости от этого отправить нужный параметр аяксом на сервер.

Ещё была идея:

try {
    window.top.location.hash = Math.random().toString(16);
}
catch(e) {
    console.log(false);
}


Но родителю, в лучшем случае, можно менять только href (или весь location целиком).

Буду благодарен за советы.

Последний раз редактировалось ruslan_mart, 24.02.2017 в 09:54.
Ответить с цитированием