2017-09-05 75 views
0

内容,我有以下的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

你知道为什么吗?

回答

0

另一种方法是:

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(); 
1

你写错了代码。

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参考上的openwriteclose函数。

More Information

+0

@DimitriosDesyllas固定 –

1

这是基于你的代码工作的代码。

Jsfiddle

完整的工作守则

<!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>