繁体   English   中英

Javascript:在iframe中获取域

[英]Javascript: Get domain in iframe

我是否可以从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>')
​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 = '';
    }
}

这是一个正在工作的JSFiddle

您可以搜索页面中的所有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 = "";
    }
}

根据您的标记,我的答案与JavaScript有关。 是的,有可能获得域名。 但是,有一个非常重要的规则。 如果iframe是1)与父页面不同的域,并且 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搜索,则将无法看到新的URL。 这是浏览器的一项安全功能,在该浏览器中您看不到iframe中外部域的任何活动。 此外,如果某人在Google搜索结果中甚至点击了另一个域,您将看不到新域。 该网址将始终显示为http://www.google.com 希望能有所帮助。

我看到其他人已经发布了示例...但是我想我放一个jQuery示例,因为它可能对某个人有所帮助:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM