无法写入里面的iframe
问题描述:
内容,我有以下的html:无法写入里面的iframe
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Scrape test</title>
</head>
<body>
<div id="beatles">
<div>
<iframe id="gozujinsama"></iframe>
</div>
</div>
<script type="text/javascript">
var ifrm = document.getElementById('gozujinsama');
var doc = ifrm.contentWindow || ifrm.contentDocument.document || ifrm.contentDocument;
doc.open();
doc.write("<DOCTYPE html><html><body><a href=\"http://google.com\"><img src=\"\"/></a></body></html>");
doc.close();
</script>
</body>
</html>
我尝试是模拟各种广告脚本怎么写的iframe中的HTML内容。然后我试图访问它,然后我从我的JavaScript控制台得到以下错误:
TypeError: doc.write is not a function
你知道为什么吗?
答
另一种方法是:
var ifrm = document.getElementById('gozujinsama');
var doc = ifrm.contentWindow || ifrm.contentDocument.document || ifrm.contentDocument;
doc.open();
if(doc.write){
doc.write("<DOCTYPE html><html><body><a href=\"http://google.com\"><img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Google_2015_logo.svg/272px-Google_2015_logo.svg.png\"/></a></body></html>");
} else {
doc.document.write("<DOCTYPE html><html><body><a href=\"http://google.com\"><img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Google_2015_logo.svg/272px-Google_2015_logo.svg.png\"/></a></body></html>");
}
doc.close();
答
你写错了代码。
var ifrm = document.getElementById('gozujinsama');
var doc = ifrm.contentWindow || ifrm.contentDocument.document || ifrm.contentDocument;
doc.document.open();
doc.document.write("<DOCTYPE html><html><body><a href=\"http://google.com\"><img src=\"\"/></a></body></html>");
doc.document.close();
的ifrm
物体具有document
其具有功能write
一个属性。在您的代码中,您尝试调用DOM参考上的open
,write
和close
函数。
答
这是基于你的代码工作的代码。
完整的工作守则
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Scrape test</title>
</head>
<body>
<div id="beatles">
<div>
<iframe id="gozujinsama"></iframe>
</div>
</div>
<script type="text/javascript">
var ifrm = document.getElementById('gozujinsama');
var doc = ifrm.contentWindow || ifrm.contentDocument.document || ifrm.contentDocument;
doc.document.open();
doc.document.write('<DOCTYPE html><body><a href=\"http://google.com\"><img src=\"\"/></a></body></html>');
doc.document.close();
</script>
</body>
</html>
@DimitriosDesyllas固定 –