2017-09-05 72 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>