使用JavaScript从iframe读取数据

时间:2013-01-22 09:53:24

标签: javascript html

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

我试图将所有新闻的标题自动添加到我的索引网站。因此,我编写了一个小的javascript函数,它在本地工作,但它在上线时不起作用。

我这样做的方式是:

  1. 在我的索引
  2. 中加入iframe(www.abc.com/index.html)
  3. iframe不可见
  4. 在我的JS中获取iframe的结构
  5. 挑选索引所需的信息
  6. 将数据复制到我的索引
  7. 我知道我无法从不在我的网站空间中的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(在线)
    离线时,该值具有正确的值。

    任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您不能因为浏览器中的沙箱限制。你必须从一个不同的天使处理问题,尝试使用javascript获取iframe网站并在div中显示它。或者为您的新闻网站设置一个RSS页面,并从该来源获取标题。