Открыть ссылку на определенный домен в iFrame в новом окне - PullRequest
0 голосов
/ 27 февраля 2011

Мне нужно, чтобы я мог открыть ссылку на определенный URL-адрес внутри iFrame; ссылка генерируется php, и я не могу изменить исходный код, поэтому мне нужно динамически менять ссылку в iFrame, если это возможно.

Что я делаю, так это: на сайте некоммерческой организации у меня есть филиал магазина (сгенерированный php), который отображается в iFrame на странице, чтобы сделать его более стилизованным с остальной частью сайта. Магазин php тянет продукты из партнерской службы; ссылка на store.php находится в том же домене, что и основной некоммерческий сайт.

Проблема в том, что последняя ссылка «Купить сейчас» из продукта открывает конечный конечный интернет-магазин в iFrame, и поэтому страница застряла в iFrame и выглядит плохо, и для просмотра нужно прокрутить V и H. это и проверить.

Ссылка, которую мне нужно открыть в новом окне, всегда имеет класс "av_buy_now". У меня есть доступ к файлу CSS, который я могу изменить. У меня есть доступ к файлам PHP, т.е. shop.php, но не похоже, что окончательная ссылка создается локально. Я показываю iframe следующим образом:

<iframe src="http://nonprofit.org/shop/mj/shop.php"></iframe>

Можно ли использовать jQuery или Javascript, чтобы найти ссылки на mydomain.com с этим одним классом и добавить к ним новый атрибут окна? Или есть лучший способ? Спасибо

Ответы [ 2 ]

0 голосов
/ 27 февраля 2011

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

PAGE.html:

<button onclick="openinnewwin()">Get It</button>
<iframe src="test.html" id="ifrm"></iframe>
<script language="javascript">
function openinnewwin(){
ob=document.getElementById('ifrm');
if ( ob.contentDocument ) {
    ob.contentDocument.getElementById('a').target="_blank"; 
}else if ( ob.contentWindow ){
    ob.contentWindow.getElementById('a').target="_blank";   
}
}
</script>

test.html:

<a href="http://www.google.com" class="aaa" id="a">Hello</a>
0 голосов
/ 27 февраля 2011

Без некоторого кода я не знаю точную структуру вашего кода, но я мог бы сделать эту работу.Требуется, чтобы jQuery тоже был в iframe.

$('iframe')[0].$('.av_buy_now').filter(function() {
    return $(this).attr('href').indexOf('mydomain.com') > -1;
}).attr('target', '_blank');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...