Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript获取Iframe内容_Javascript_Iframe - Fatal编程技术网

Javascript获取Iframe内容

Javascript获取Iframe内容,javascript,iframe,Javascript,Iframe,我试图在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 so

我试图在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{高度:200px;宽度:300px;边框:1px实心#000}
var iframe=document.getElementById(“myFrame”);
var iframe_contents=iframe.contentDocument.body.innerHTML;
函数newDoc(){
警报(document.getElementById('myFrame').innerHTML);
}


任何帮助都将不胜感激 问候

编辑:


我正在尝试获取IFRAME的内容,因为我正在使用Adf.ly 应用程序编程接口 "" 但是这个api会用一个空白页面来响应我想要的短端url 直接在我的网站脚本中使用缩短的url

我猜你的主(父)页在另一个域上。在这种情况下,由于跨域限制,您对iframe内容的访问被禁止。
如果您无法控制内部页面(api.adf.ly/api.php),则无法使用页面上的客户端代码来处理它。

替换下一行

alert (document.getElementById('myFrame').innerHTML) ;
与下面的

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

我想它会对你有用。

你无法跨域获取iFrame的内容。如果您需要进行跨域页面抓取,可以使用JSONP,也可以使用php/asp来抓取页面。更好的问题是,为什么要尝试在不同的域上获取IFRAME元素的内容?你到底想做什么(为什么?)。这通常会构成“抓取”或“混搭”的创建,至少您通常希望获得站点管理员/所有者的许可。如果您能够获得该权限,您可以使用CORS来解决跨域问题。我正在尝试获取IFRAME的内容,因为我使用的是Adf.ly Api“”,但此Api会以一个带有短端url的空白页面响应我想在我的sit脚本中直接使用短端url谢谢您的帮助,但这会获取源url而不是内容