Функция триггера Javascript по клику, но пусть поведение по умолчанию сохраняется

Вот сценарий: у меня есть страница с кнопкой, которая открывает окно iframe fancybox. В содержимом iframe есть ссылка, которая откроется в новом окне с помощью target="_blank". Я хотел бы, чтобы щелчок запускал функцию javascript, чтобы закрыть окно fancybox, а также открыть новое окно.

Используя jquery, я связал простую функцию щелчка, которая вызывает parent.$.fancybox.close();, но это не возвращает щелчок обратно в браузер, чтобы запустить ссылку в новом окне.

Я не хочу использовать window.open, так как он блокируется в 99% случаев, мне просто нужно поведение по умолчанию.

Как я могу вызвать функцию закрытия по клику, сохраняя при этом нормальное поведение?

РЕДАКТИРОВАТЬ

Добавление кода:

Страница, которая открывает iframe fancybox.

<a href="http://something.com" id="OpenIframeLink">open fancybox</a>
<script>
$("#OpenIframeLink").fancybox({
    'padding': '20',
    'width': 450,
    'height': 550,
    'scrolling': 'no',
    'type': 'iframe',
    'href': '/content.asp?url=' + encodeURIComponent($("#OpenIframeLink").attr('href')),
    'showCloseButton': false
});
</script>

Теперь этот код находится на странице content.asp в окне iframe fancybox.

<div id="message">
    <a href="http://something.com" target="_blank">click me</a>
</div>

<script type="text/javascript">
    $('#message a').click(function() {
      parent.$.fancybox.close();

      //now it should open the new window as a standard default click
      //as if this function wasn't bound to the click
    });
</script>

person DAC84    schedule 18.10.2012    source источник
comment
Вы можете показать код или создать скрипку?   -  person Riz    schedule 18.10.2012
comment
Страница, загруженная в iframe, принадлежит другому домену?   -  person Rango    schedule 18.10.2012
comment
Код добавлен, и нет, он из того же домена.   -  person DAC84    schedule 18.10.2012
comment
К сожалению, ваша проблема не имеет решения, так как страница находится в другом домене. Скрипты вашей страницы не могут взаимодействовать с такими страницами из-за политики перекрестного происхождения.   -  person Rango    schedule 18.10.2012
comment
Я не был ясен в моем коде. Содержимое внутри iframe не поступает из href. Я добавлю больше кода.   -  person DAC84    schedule 18.10.2012
comment
OK. Почему бы вам просто не загрузить содержимое something.com прямо в тот же iframe?   -  person Rango    schedule 18.10.2012


Ответы (1)


Проверьте эту ссылку: http://www.techfoobar.com/2012/jquery-programmatically-clicking-a-link-and-forcing-the-default-action

Отказ от ответственности. Это статья, написанная мной.

Техника включает в себя создание элемента form на лету с href ссылки в качестве его action и target ссылки в качестве атрибута target, а затем инициирование его отправки с помощью кода (что, к счастью, позволяет браузер).

person techfoobar    schedule 18.10.2012