Принудительное изменение местоположения Windows, когда оно находится в скрытом домене

77
7

У нашего клиента есть 2 веб-сайта, которые имеют одинаковый контент, поэтому мы избавились от одного и использовали маскированную переадресацию на одном из доменов, поэтому он по-прежнему чувствует, что оба сайта есть.

Затем мы использовали сладкий try catch с JavaScript, чтобы проверить, доступен ли сайт через маскированный кадр, чтобы внести незначительные эстетические изменения в jQuery.

try
{
if ( top.document.domain != self.document.domain );
}
catch(e)
{
// jQuery to change a few colors and positions.
}

Все это работает фантастически, за исключением того, что если вы хотите перейти от маскированной версии сайта к фактическому домену, используя ссылку заголовка, он не работает и заставляет вас оставаться в замаскированной версии, независимо от того, какой метод мы используем для изменения расположение Windows.

Я знаю, что мы могли бы избежать этого, не используя маскированную пересылку и настраивая iframe, чтобы ссылка заголовка была вне iframe. Но мы бы предпочли, чтобы нам не приходилось вмешиваться в ИТ-отдел, и они неохотно вносят изменения. Мы, очевидно, это сделаем, если не будет решения. Здесь, чтобы надеяться, есть один!

Ссылка на реальные рабочие сайты:

Маскированный домен: http://mdpa.com/

Фактический домен: http://worthe.com/

спросил(а) 2021-01-25T15:58:25+03:00 5 месяцев назад
1
Решение
65

Вы можете достичь этого, изменив цель ссылки заголовка.

target="_top"

Без целевого атрибута по умолчанию используется iframe. Поскольку вы используете атрибут onclick (который не кажется необходимым), вам также нужно изменить его.

window.top.location='something'

Измените код заголовка в фактическом домене:

<a href="http://worthe.com" onclick="window.location='http://worthe.com'; return false;" class="logo" id="logo-worthe">Worthe Real Estate Group</a>
<a href="http://mdpa.com" onclick="window.location='http://mdpa.com'; return false;" class="logo" id="logo-mdpa">M. David Paul and Associates</a>
<a href="http://worthe.com" onclick="window.location='http://worthe.com'; return false;" class="logo" id="logo-krismar">Krismar Construction</a>

к этому:

<a href="http://worthe.com" onclick="window.top.location='http://worthe.com'; return false;" class="logo" id="logo-worthe" target="_top">Worthe Real Estate Group</a>
<a href="http://mdpa.com" onclick="window.top.location='http://mdpa.com'; return false;" class="logo" id="logo-mdpa" target="_top">M. David Paul and Associates</a>
<a href="http://worthe.com" onclick="window.top.location='http://worthe.com'; return false;" class="logo" id="logo-krismar" target="_top">Krismar Construction</a>

ответил(а) 2021-01-25T15:58:25+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема