0

javascript アラートで iframe のコンテンツを取得しようとしていますが、アラートが空に見えます

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<style>
iframe {height:200px; width:300px; border:1px solid #000}
</style>

<script>
var iframe = document.getElementById("myFrame");
var iframe_contents = iframe.contentDocument.body.innerHTML;
function newDoc() {
alert (document.getElementById('myFrame').innerHTML) ;
}
</script>

<body>

<iframe src="http://api.adf.ly/api.php?key=c02fe2b360ee4b566a4f1e14d84b279b&uid=3141484&advert_type=banner&domain=adf.ly&url=http://somewebsite.com" id="myFrame">
</iframe><br>

 </br>

 <img src="http://www.giftworksconnect.com/wp-content/uploads/2012/10/download.png" width="100" onclick="newDoc(); return false;" style=" cursor: pointer;" border="0" id="adflink" />


</body>
</html>

よろしくお願いします

編集:

Adf.ly Api を使用しているため、IFRAME のコンテンツを取得しようとしています」 /somewebsite.com " しかし、この API は短縮 URL を含む空白のページで応答します。サイト スクリプトで短縮 URL を直接使用したい

4

2 に答える 2

2

あなたのメイン(親)ページは別のドメインにあると思います。この場合、クロスドメインの制限により、iframe コンテンツへのアクセスは禁止されています。内部ページ (api.adf.ly/api.php) を制御できない場合は、ページのクライアント側コードで処理できません。

于 2013-08-16T04:49:16.577 に答える
-1

あなたの下の行を置き換えます

alert (document.getElementById('myFrame').innerHTML) ;

以下で

alert(document.getElementById('myFrame').src);

それはあなたのために働くと思います。

于 2013-08-16T11:48:02.660 に答える