修改: 我发现问题与没有特定API或类似内容的iframe内无法访问元素有关。它已经解决了。
我需要嵌入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
跟随它.innerHTML
。
我将其用作Opera Sidebar Extension,因此我在添加Uncaught type error: cannot read property 'innerHTML' of undifined
时遇到此错误:id
。
我通过操纵我在this answer获得的代码获得了此代码,但是当天的天文图片图片不包含gsl
。
答案 0 :(得分:0)
undefined属性表示尚未分配变量 价值。
你没有从那里得到任何东西。
我建议你调试一下你的代码。首先,它似乎没有得到任何iframe.contentWindow.document.getElementsByTagName("a")[1]
所以你应该首先调试它,看它是否包含你正在寻找的元素。
因此,您应该使用控制台日志进行调试,看看它得到了什么:
console.log(iframe.contentWindow.document.getElementsByTagName("img"));
希望这会帮助你。