我正在尝试从加载到与主网页不同的Iframe的页面中提取链接。 FF和Chromium的JavaScript控制台不会报告任何错误。这两种浏览器也不会从iframe中的网页中提取链接。
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST
Access-Control-Allow-Headers: Origin
X-Frame-Options: ALLOW-FROM https://example.com/
Content-Type: text/html; charset=UTF-8
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<iframe name='iframe' id='iframe' src="https://www.example.com"></iframe>
<script>
var a = document.getElementById('iframe')
var links = a.getElementsByTagName('a');
document.write(links.length);
for(i=0; i<links.length; i++) {
document.write(links[i].href);
}
</script>
<div id="results">results</div>
答案 0 :(得分:2)
因为安全而无法完成。
您不会收到错误,因为您在iframe
元素而不是contentDocument
上进行查询。
<iframe name='iframe' id='iframe' src="https://www.example.com"></iframe>
<script>
var a = document.getElementById('iframe');
var links = a.contentDocument.getElementsByTagName('a');
</script>