Javascript:在iframe中获取域名

时间:2012-07-27 07:00:38

标签: javascript search dns

我是否可以从iframe获取域名,例如:

<iframe src="http://www.google.com/search&etc...so on"></iframe>

因此,通过使用javascript,我只能获得“google.com”并将iframe重定向为空白。对于想要帮助我的人来说,下面是想法(在python编码中,idk,如果它是否正确,但只是一个想法)。

for iframe in page:
if re.search("(google.com)", iframe, re.IGNORECASE):
iframe = iframe.replace('<iframe src=""></iframe>')

3 个答案:

答案 0 :(得分:0)

​var iFrames = document.getElementsByTagName('IFRAME');
for (var iFrameIndex = 0; iFrameIndex < iFrames.length; iFrameIndex++) {
    // Match Google iFrames
    if (iFrames[iFrameIndex].src.test(/google\.com/)) {
        // Set such iFrames src to a blank string
        iFrames[iFrameIndex].src = '';
    }
}

这是working JSFiddle

答案 1 :(得分:0)

您可以搜索您网页中的所有iframe,然后获取以google.com作为来源的iframe:

var iFrames = document.getElementsByTagName("IFRAME");
for (var i = 0; i < iFrames.length; i++) {
    if (iFrames[i].src.indexOf("google.com") != -1) {
        // do here whatever you want, for example clearing the iframe's src:
        iFrames[i].src = "";
    }
}

答案 2 :(得分:0)

根据您的标记,我的回答与JavaScript有关。是的,可以获得域名。但是有一个非常重要的规则。如果iframe是1)与父页面不同的域 AND 2)iframe在第一次加载后更改为其他页面/域...则您无法看到新的页面/域。

假设您在yourdomain.com上有一个index.html页面,并且您希望拥有一个加载Google的iframe:

<!doctype html>
<html>
<body>
  <div><iframe src="http://www.google.com"></iframe></div>
</body>
</html>

首次加载索引页面后,您将能够看到该域名是google.com。但是,如果用户执行Google搜索,您将无法看到新的网址。这是浏览器的安全功能,您无法在iframe中看到外部域的任何活动。此外,如果某人将Google搜索结果点击到另一个域,则您无法看到新域。该网址始终显示为http://www.google.com。希望有所帮助。

我看到其他人已经发布了一些示例......但我想我会提出一个jQuery示例,因为它可能会帮助那些人:

$('iframe[src*="google.com"').attr('src', '');