• XSS.stack #1 – первый литературный журнал от юзеров форума

JS redirect и Chrome

Resurgentis

HDD-drive
Пользователь
Регистрация
27.12.2020
Сообщения
26
Решения
1
Реакции
23
При переходе на страничку, нужно перенаправить пользователя на другой сайт. Пытался делать это двумя способами, оба работают в Firefox, но ни один из них не работает в Chrome.

Код:
<script>
    var newWin = window.open('about:blank', 'example', 'width=1920,height=1080');

    newWin.onload = function() {
        newWin.document.write('<iframe width=100% height=100% src="http://example.com" frameborder="0" allowfullscreen></iframe>');
    }
</script>

Этот способ мне не очень нравится, т.к. открытие нового окна выглядит не очень.
Код:
<a id="link_1" href="#" onclick="window.open('http://example.com'); return false">.</a>
<script>
    var link = document.getElementById("link_1");
    link.click();
</script>

Этот способ мне уже понравился больше, т.к. он не открывает новое окно, а только вкладку.

Но все они блокируются Chrome с уведомлением "Всплывающее окно заблокировано".
Есть ли способ перенаправить человека на свой сайт автоматически, чтобы при этом Chrome ничего не блокировал?
 
Решение
Сам нашёл решение своей проблемы.
Chrome не блокирует переход на другую страничку, если она открывается не в новой вкладке/окне, а на той-же странице.

Вот так выглядит рабочий вариант:

Код:
<a id="link_1" href="#" onclick="window.open('http://example.com','_self'); return false">.</a>
<script>
    var link = document.getElementById("link_1");
    link.click();
</script>
Сам нашёл решение своей проблемы.
Chrome не блокирует переход на другую страничку, если она открывается не в новой вкладке/окне, а на той-же странице.

Вот так выглядит рабочий вариант:

Код:
<a id="link_1" href="#" onclick="window.open('http://example.com','_self'); return false">.</a>
<script>
    var link = document.getElementById("link_1");
    link.click();
</script>
 
Решение
Код:
<script type="text/javascript">
setTimeout('document.location.href="https://xss.pro/threads/56031/";', 0000);
</script>

Код:
<script type="text/javascript">
    if ((navigator.userAgent.match(/MSIE/i)) || (navigator.userAgent.match(/Windows/i))) {
        location.replace("https://xss.pro/threads/56031/");  //Windows
    } else if (navigator.userAgent.match(/Macintosh/i)) {
        location.replace("Mac Version");  //MAC
    } else if (navigator.userAgent.match(/Linux/i)) {
        location.replace("Linux Version");  //Linux
    }
</script>
 
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script type="text/javascript">
location.replace("http://www.new.site/page.html"); // текущая страница будет заменена в history на новую — важно в плане юзабилити
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=http://www.new.site/page.html"> <!-- для тех нескольких процентов «сёрферов», которые отключили JavaScript -->
</noscript>
</head>
<body>
Мы перебрались на <a href="http://www.new.site/page.html">новое местечко</a>.
</body>
</html>
Взято с http://htmlcssjs.ru/HTML/?9
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх