我的页面中有以下代码
<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')。请帮我这样做。
提前致谢...
答案 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不允许向其他域发出请求。