如何在 Opera 扩展中按标签名称嵌入网站的一部分



EDIT: 我发现问题与在没有特定 API 或类似内容的情况下无法访问 iframe 中的元素有关。它已经解决了。

我需要嵌入每日天文图片网站的图像。这是我现在拥有的 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 侧边栏扩展,因此在添加.innerHTML时不断收到此错误:Uncaught type error: cannot read property 'innerHTML' of undifined

我通过操纵我在这个答案上得到的代码得到了这个代码,但是当天的天文图片图像不包括id

undefined 属性表示尚未赋值变量 一个值。

你没有从那里得到任何东西。


我建议你调试一下你的代码。首先,这似乎没有得到任何iframe.contentWindow.document.getElementsByTagName("a")[1],因此您应该首先对其进行调试以查看它是否包含您要查找的元素。

因此,您应该使用控制台日志进行调试,看看这得到了什么:

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

希望这对您有所帮助。

相关内容

  • 没有找到相关文章

最新更新