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>

任何帮助将不胜感激

编辑:

我正在尝试获取 IFRAME 的内容,因为我正在使用 Adf.ly Api " http://api.adf.ly/api.php?key=c02fe2b360ee4b566a4f1e14d84b279b&uid=3141484&advert_type=banner&domain=adf.ly&url=http:// /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 回答