всплывающее меню javascript и URL перенаправления - PullRequest
4 голосов
/ 12 августа 2011

Я использовал Tinybox http://sandbox.scriptiny.com/tinybox2/

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

мои коды JavaScript и HTML-коды

<script type="text/javascript" src="tinybox.js"></script>
<script type="text/javascript">

function openJS(){}
function closeJS(){}

function closeAndGotoURL{ 
TINY.box.hide();
opener.location.href='http://www.google.com';
}


 <a href="#"  onclick="TINY.box.show({iframe:'webpage2.html',boxid:'frameless',width:750,height:450,fixed:false,maskid:'bluemask',maskopacity:40,closejs:function(){closeJS()}})">Open page2</a>


//...below is on webpage2.html, it does not work

<a href="#" onclick="closeAndGotoURL()"> Click </a>

но похоже, что это не работает

1 Ответ

0 голосов
/ 12 августа 2011

Вместо opener.location.href используйте parent.location.href.См. Ниже:

function closeAndGotoURL {
    TINY.box.hide();
    parent.location.href='http://www.google.com';
}

Вы также можете использовать top.location.href:

function closeAndGotoURL {
    TINY.box.hide();
    top.location.href='http://www.google.com';
}

Другой вариант - использовать чистый HTML.Хотя он не будет закрывать всплывающее окно первым, он перенаправит все окно на ваш URL.Обратите внимание на атрибут target тега привязки.

<a href="http://www.google.com" target="_top">

ПРИМЕЧАНИЕ 1: Зачем сначала закрывать всплывающее окно?Если вы перенаправляете всю страницу, просто перенаправьте - не нужно закрывать всплывающее окно.

ПРИМЕЧАНИЕ 2: Это будет работать правильно, только если страница, загруженная в iframe,в том же домене, что и родительское окно (я предполагаю, что это так, поскольку вы пишете всплывающий код).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...