У мене є сторінка, яку можна відкрити з будь-якої моєїдомен або як спливаюче вікно, відкрите з іншого домену. На цій сторінці я маю перевірити його за допомогою Javascript, чи він був відкритий як спливаюче вікно, чи він був безпосередньо відкритий URL-адресою, і робити якісь речі.
Зараз я дотримуюся широко запропонованого підходу, використовуючи window.opener
атрибут ...
if (window.opener != null)
// It is a popup
else
// It"s not a popup
... але останнім часом я стикався з проблемою IE, яка не заповнює цей атрибут.
Чи може хтось запропонувати мені інший підхід для цього? Випуск IE, ймовірно, неминучий без зміни деяких конфігурацій Windows.
До речі, коли я кажу, що сторінка відкривається як спливаюче вікно, я говорю про " window.open()
виклик, який відкриває нове вікно.
Заздалегідь спасибі!
Відповіді:
1 для відповіді № 1Перевірте document.referrer всередині спливаючого вікна.
var ref = document.referrer;
if (ref.match(/mydomain/i)) {
// page was opened directly
}
else {
// page was opened by other domain
// this is a popup
}