2016-06-30 5 views
0

私はJavaScript経由でhtmlコードをダウンロードしたいのですが、このHTMLコードは、iframeに表示されるexternのWebページです。このiframeに表示されるHTMLコードを取得することは可能ですか?JavaScriptでexternのWebページをダウンロード

だからここに私の試みです:

<body> 
    <iframe id="iframe_htmlcode1" name="iframe_htmlcode" src="http://www.w3schools.com"></iframe> 
<textarea id="TextArea1" name="S1"></textarea> 

    <script> 
     function getAndSetContent() { 

      var x = document.getElementById("iframe_htmlcode1"); 
      var y = (x.contentWindow || x.contentDocument); 

      document.getElementById("TextArea1").value = y.documentElement.innerHTML; 


     } 
</script> 
<input id="Button1" type="button" value="button" onclick="getAndSetContent()" /> 

しかしy.documentElement.innerHTMLは何も返しません。私はそれも、正常に動作するiframeで使用されるローカルHTML文書で試してみました。

提案がありますか?

THANKS

+0

を発行します。セキュリティ対策のためにクロスドメイン例外が発生します。あなたはPHPにリクエストを送る必要があります、PHPはそのHTMLを取得し、あなたにそれを返す、それは動作します。 –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript – Teemu

答えて

0

私は(あなたがもう一度試して、その後いくつかの基本的なサーバーが必要となります)とにかくデバッグはそれをすべて言う、プロトコルが一致しているので、あなたのコードは、ローカルファイルで作業していることを前提としています。

Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "http://www.w3schools.com". The frame requesting access has a protocol of "file", the frame being accessed has a protocol of "http". Protocols must match. 

あなたはCORSを回避するには、以下のようなものを使用する必要があるサーバー上で、あなたのコードを取得したら、それは可能ではない、限り私が知っているよう

https://github.com/padolsey-archive/jquery.fn/tree/master/cross-domain-ajax

関連する問題