2014-09-25 2 views
0

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

Вот jsfiddle http://jsfiddle.net/8zs8mh5d/

<a href="http://www.randomwebsite.com/" target="tc">dont redirect if not from link 3</a><br> 

<a href="http://www.randomwebsite.com/" target="tc">dont redirect if not from link 3</a><br> 

<a href="http://day.smakkie.com/" target="tc">dont redirect if not from link 1 or 2</a><br> 

<iframe id="truecontent" name="tc" src="http://www.randomwebsite.com/"></iframe> 



#truecontent 
{ 
    height:200px; 
    width:400px; 
} 

ответ

0

Вы можете использовать JavaScript, как:

function confirmTarget(target) { 
    current = document.getElementById('truecontent').getAttribute('src'); 
    if(current != target) 
    document.getElementById('truecontent').src = target; 
} 

и изменить ваши ссылки как:

<a href="#" onclick="confirmTarget('http://www.randomwebsite.com/')">dont redirect if not from link 3</a><br /> 
<a href="#" onclick="confirmTarget('http://www.randomwebsite.com/')">dont redirect if not from link 3</a><br /> 
<a href="#" onclick="confirmTarget('http://day.smakkie.com/')">dont redirect if not from link 1 or 2</a><br /> 

Вот JSFiddle с ним: http://jsfiddle.net/5xs3tnze/2/

+0

Спасибо ОЧЕНЬ много. –

+0

Вы очень желанны. ^^ –

0

Вам может понадобиться немного помочь JavaScript для этого. Определите ваши ссылки, как это:

<a href="#" onclick="redirectIframe('http://www.randomwebsite.com/', 'tc')">dont redirect if not from link 3</a><br> 

<a href="#" onclick="redirectIframe('http://www.randomwebsite.com/', 'tc')">dont redirect if not from link 3</a><br> 

<a href="#" onclick="redirectIframe('http://day.smakkie.com/', 'tc')">dont redirect if not from link 3</a><br> 

<br> 

<iframe id="truecontent" name="tc" src="http://www.randomwebsite.com/"></iframe> 

Затем добавить функцию перенаправления

function redirectIframe(url,name) { 
    var iFrame = document.getElementsByName(name)[0]; 

    if (iFrame.src != url) iFrame.src = url; 
} 

функции будет проверять, если URL вы перенаправление такого же, как источник тока IFRAME, и если это так возврат без перенаправления ,

Демо: http://jsfiddle.net/8zs8mh5d/1/