获取页面源

时间:2009-03-20 14:07:58

标签: javascript html

我的页面中有以下代码

<html>
<head> 
    <title>testpage</title>
    <script language = 'javascript'>function fchange(){alert(document.getElementById("ifrm").value);</script>
</head>
<body>
    <iframe id = 'ifrm' src = 'http://www.google.com' width = '700' height='500'></iframe><input type='button' onclick = 'fchange()' value = 'clickhere'>
</body>
</html>

从这里我点击按钮,警告框显示undefined。但我需要页面的内容或来源('http://www.google.com')。请帮我这样做。

提前致谢...

3 个答案:

答案 0 :(得分:2)

如果您想要iframe的来源,则需要访问iframe的文档对象。

function fchange() 
{
    alert(document.getElementById("ifrm").contentWindow.document.body.innerHTML);
}

如其他人所述,您无法获得指向域外页面的iframe来源。

答案 1 :(得分:2)

你不能这样做,因为它打破了same-origin policy

如果两个页面都位于同一个域中,那么您可以执行@Joel建议的操作,或稍微更老式的页面:

window.frames['ifrm'].document.body.innerHTML;

您需要<iframe name="ifrm" ...>才能实现此目的。

答案 2 :(得分:1)

你需要有后端脚本。我认为这是唯一的方法。出于安全原因,AJAX不允许向其他域发出请求。