2017-09-27 68 views
0

編輯: 我發現問題與無法訪問iframe中的元素而沒有特定的API或類似的東西有關。它已經解決了。如何通過標記名稱在Opera擴展中嵌入網站的一部分

我需要嵌入Astronomy Picture of the Day網站的圖像。這裏是我現在的html:

<head> 
<style> 
    body, html { 
     margin: 0px; 
     padding: 0px; 
    } 
    iframe { 
     border: none; 
    } 
</style> 
</head> 
<body> 
    <iframe id="iframe" width="100%" height="600px" 
src="https://apod.nasa.gov/apod/astropix.html"></iframe> 
    <div id="PlaceToPutTable"></div> 
    <script src="panel.js"></script> 
</body> 

這裏是我現在的JavaScript:

var iframe = document.getElementById("iframe"); 
var div = document.getElementById("PlaceToPutTable"); 
div.innerHTML = 
iframe.contentWindow.document.getElementsByTagName("a")[1]; 

我一直在使用iframe.contentWindow.document.getElementByTagName("img")[0]與不.innerHTML下它試圖。 我將此作爲Opera Sidebar Extension使用,因此在添加.innerHTML時出現此錯誤:Uncaught type error: cannot read property 'innerHTML' of undifined

我通過操縱我在this answer處得到的代碼得到了這段代碼,但是天天圖片的圖片不包含id

回答

0

The undefined property indicates that a variable has not been assigned a value.

你沒有從那裏得到任何東西。


我建議你調試一下你的代碼。首先,它似乎沒有得到任何東西iframe.contentWindow.document.getElementsByTagName("a")[1],所以你應該先調試它,看看它是否包含你正在尋找的元素。

所以,你應該有一個控制檯日誌調試,看看這得到:

console.log(iframe.contentWindow.document.getElementsByTagName("img")); 

希望這有助於你出去。

+0

當我這樣做時,控制檯出現此錯誤:Uncaught TypeError:iframe.contentWindow.document.getElementByTagName不是函數。 –

+0

看起來像一個錯字。它的getElementsByTagName(注意元素上的複數)。現在編輯抱歉 –

相關問題