2013-02-12 3 views
1

Я хочу установить ссылку на плеер предварительного просмотра музыки amazon как всплывающее окно с моего сайта. У меня есть этот код:Отключить родительское окно после open.window

<a href="http://www.amazon.de/gp/recsradio/radio/B000002OK3/" target="_blank" onclick="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;" onkeypress="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;">Link</a> 

Моя проблема, когда я нажимаю на обложке альбома в Амазонии Всплывающего, мой родительский сайт с refreshs связи с целевой Amazon URL. Когда я открываю URL-адрес всплывающего окна, набрав URL-адрес в адресной строке, а затем нажмите на обложку, откроется новое окно с целевым URL-адресом (это то, что я хочу заставить).

Возможно ли передать родительское отношение со всплывающим окном ссылки?

+1

По какой-либо причине 'return false;' не отменяет событие click. Должно. Сделать правильный вызов функции из него? Я на самом деле писал об этом, потому что я часто вижу это всплывающее сообщение: http://fritsvancampen.wordpress.com/2013/01/28/how-to-cancel-events-in-javascript/ – Halcyon

+0

Я не уверен, что я получил вы правы. Моя страница со ссылкой не изменяется, когда я нажимаю ссылку amazon (было ли это то, что вы имеете в виду, не отменяя событие click?). Это только ссылка JS (обложка CD) на связанной странице амазонки, которая заставляет открыть цель в родительском окне (моя страница). Я хочу, чтобы моя страница считалась родительским окном для этой ссылки на сайте amazon. – Mobe5

ответ

0

Я решить мою проблему, используя что-то вроде этого:

Открыть местный popup.php с моего сайта с JS, проходя amazonurl, как вар.

<a onkeypress="window.open(this.href,'popup','scrollbars=1,width=900,height=600'); return false;" onclick="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;" rel="nofollow" target="_blank" href="http://domain.com/popup.php?amazonurl=http://[...]">Link</a> 

В popup.php я использую

<script language="javascript" type="text/javascript"> 
window.opener = null; window.location.href = "<?php echo $_GET['amazonurl']; ?>;</script> 

Чтобы windpw.opener = нуль, а затем обновить всплывающее окно с амазонки URL.

0

Убедитесь, что вы не используете «popper» в качестве идентификатора для обоих экземпляров winow.open. Основной, который открывает начальное всплывающее окно, должен отличаться от того, который находится внутри самого всплывающего окна, если вы не хотите, чтобы он изменил всплывающее окно, которое уже открыто (в этом случае window.open в атрибуте onclick практически не требуется) ,

То, что я имею в виду под этим: Допустим, вы запускаете оригинальный всплывающее окно с кодом на вопрос, как это:

<a href="popup.html" onclick="window.open(this.href, 'popper'); return false;">Popup</a> 

И во всплывающем окне с кодом в вопросе это (popup.html):

<a href="http://www.amazon.de/gp/recsradio/radio/B000002OK3/" target="_blank" onclick="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;" onkeypress="window.open(this.href,'popper','scrollbars=1,width=900,height=600'); return false;">Link</a> 

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

<a href="popup.html" onclick="window.open(this.href, 'original-popper'); return false;">Popup</a> 
+0

Можете ли вы объяснить это немного дальше? Я попытался назвать onclick «popper» и всплывающее окно onkeypress, но это не помогает. Если есть более правильный способ связать игрока и сломать соотношение родитель/ребенок, сообщите мне. – Mobe5

+0

Теперь я понял, что вы имеете в виду. Всплывающая цель, с которой я ссылаюсь, не является моим сайтом, это амазонка. Я также не хочу менять целевое всплывающее окно amazon, а также родительское окно. Я использую JS Popup, чтобы иметь хорошее окно для подключения к плееру предварительного просмотра музыки, но если я свяжусь с простой ссылкой html, у меня будет такая же проблема. Ссылка на всплывающее окно amazon вынуждена открываться в родительском окне, и это то, что я хотел бы предотвратить. – Mobe5

+0

Вы сказали, что родительское окно также является всплывающим окном, правильно? Или, по крайней мере, окно, в котором есть код, о котором идет речь, уже всплывающее окно, не так ли? Убедитесь, что код, который вы используете для запуска всплывающего окна, содержащего этот код, также не использует «popper» для идентификации окна.Я уточню в своем посте, дайте мне второй, чтобы отредактировать его. – Gawdl3y

Смежные вопросы