2012-10-30 66 views
1

我有一個加載在iframe http://mypage.com/myurl默認鏈接主頁。在博客中,我希望動態更改iframe中的默認鏈接,以供每個帖子頁面使用。我加載像默認鏈接:用javascript更改iframe url。 Firefox的問題

<iframe width='1000' height='500' name='iframename' frameborder='0' 
     src='http:/mypage.com/myurl'></iframe> 

(在所有瀏覽器上運行),我通過把這個代碼在每一個崗位頁面動態更改iframe中的鏈接:

<script type="text/javascript"> 
    document.iframename.location = "http://mypage.com/mynewurl"; 
</script> 

它的工作原理罰款鉻和ie,但它不適用於Firefox!

任何意見或解決?

這裏一個簡單的例子www.tinyurl.com/9l7zt2n看到Firefox的加載在iframe默認鏈接的差異。即和鉻可以改變與添加的JavaScript。

如果有幫助,以測試它的博客www.tinyurl.com/9axhquhü可以看到它的工作在Chrome和IE,如果u點擊任何的文章標題或「更多」加載後的頁面,在上面修改相應

的iframe

任何想法或解決?

回答

0

document.iframename.location可能是不支持跨瀏覽器。

嘗試:

<iframe width='1000' height='500' id='iframeid' frameborder='0' src='http:/mypage.com/myurl'></iframe> 

<script type="text/javascript"> 
    document.getElementById('iframeid').src = "http://mypage.com/mynewurl"; 
</script> 

這意味着:

  1. 通過document.elementName語法訪問由名稱的元​​素不被支持。
  2. iframe元素沒有財產稱爲locationlocationwindow的財產。您可以通過使用contentWindow訪問iframewindow

我在這裏寫了一個簡短的測試http://jsfiddle.net/FyNW9/。在不同的瀏覽器中運行它。

+0

感謝@Roman它的工作,但如果我改變iframe的ID,而不是iframe的名字,其他的一些鏈接,我也有在的形式,各崗位:Click here 在一個新的窗口,而不是的iframe中打開在ie和Firefox上。在鉻上它工作正常。這就是使用iframename的原因。有沒有辦法讓這些鏈接與iframeid一起工作呢? – user1473293

+0

其實通過添加一個函數:function changeSource(newSource){document.getElementById('iframeid')。src = newSource;}我得到的鏈接工作如下:Click here
工作示例在這裏:http://tinyurl.com/92e6va5所以,羅馬現在到處都在工作 – user1473293