2014-09-25 45 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

非常感謝你許多。 – 2014-09-25 21:07:06

+0

你很受歡迎。 ^^ – 2014-09-26 12:16:13

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/