使用 JavaScript 从 iframe 读取数据

Read data from iframe with JavaScript

本文关键字:读取 数据 iframe JavaScript 使用      更新时间:2023-09-26

我的问题如下:
我设计了一个主页,我有一个索引(www.abc.com)网站和一个带有新闻(www.abc.com/index.html)的网站。

我试图将所有新闻的头条自动带到我的索引网站。因此,我编写了一个小的javascript函数,它可以在本地工作,但是当它上线时它不起作用。

我这样做的方式是:

  1. 在我的索引中包含 iframe (www.abc.com/index.html)
  2. iframe 不可见
  3. 在我的JS中获取iframe的结构
  4. 挑选我需要的索引信息
  5. 将数据复制到我的索引中

我知道我无法从不在我的网络空间中的 iframe 中获取数据,但这在我的网络空间中。

<iframe name="nf" id="newsframe" src="http://www.rossegger.at/news.html" 
style="visibility:hidden"></iframe>
<table id="news_table"></table>

function load_news() {    
    var con = document.getElementById("news_table");
    var frame = window.frames['nf'].document.getElementsByClassName('n');
    if(frame.length != 0)
    {
        con.innerHTML += "<tr><h2 color=white>NEWS</h2></tr><hr>";
        for(var i=0; i<frame.length; i++)
        {       
            con.innerHTML += "<tr>"+frame[i].textContent+"</tr><hr>";     
        }   
    }   
}

问题是frame.length总是0(在线)
脱机时,该值具有正确的值。

谁能帮我?

由于

浏览器中的沙盒限制,您不能这样做。你必须从另一个天使那里解决问题,尝试使用 javascript 获取 iframe 站点并在div 中显示它。或者为您的新闻网站设置一个 rss 页面,并从该来源获取头条新闻。