2017-09-10 19 views
0

:子ウィンドウで子ウィンドウで親ウィンドウのタグのhtmlを取得するには?私は、次のコードによって、親ウィンドウから子ウィンドウを開いています

​​

私は親ウィンドウbodyタグのHTMLを取得したいです。だから私は、次のコードを使用し

 <html> 
<head> 

</head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script type="text/javascript" language="javascript" src="html2canvas.min.js"></script> 
<script type="text/javascript" language="javascript" src="html2canvas.js"></script> 

<script type="text/javascript"> 

    function capture() { 
      window.alert('test'); 

      html2canvas(window.opener.$("body") 
      ,{ 
       onrendered: function (canvas) {      
          var imgString = canvas.toDataURL("image/png"); 
          window.open(imgString); 

       } 
      } 
     ); 
    } 
</script> 

<body id="d" onload="capture()"> 

<button id="button1" name="NiceButton" onclick="capture()">click here</button> 

</body> 
</html> 

をしかし、私は次のエラーを取得しています:

TypeError: window.opener.$ is not a function 

どのように私はこのエラーを解決することができますか?

私は何が必要ですか: 私は親ウィンドウのbodyタグのinnerhtmlを取得する必要があります。次のコードは動作しますか?

alert($("window.opener.body")) ; 
+0

であなたのキャプチャ機能を交換してください。 – skirtle

+0

最初のページにjQueryを含める必要はありません。 Jqueryはそのページには必要ありません。 –

+0

??しかし、最初のページでjQueryを参照していますか? – Teemu

答えて

1

あなたはあなたの最初のページにjQueryのを含めてしていないようです

function capture() { 
     window.alert('test'); 

     html2canvas(window.opener.document.body 
     ,{ 
      onrendered: function (canvas) {      
         var imgString = canvas.toDataURL("image/png"); 
         window.open(imgString); 

      } 
     } 
    ); 
} 
+0

クロムにエラーが発生しました。 "原点" null "のフレームがクロスオリジンフレームにアクセスするのをブロックしました。" –

+0

ローカルホストやドメインのように、これを動作させるにはホストが必要です。 xamppやwampなどのWebサーバーを使ってページをホストすることができます。 –

関連する問題