gpt4 book ai didi

javascript - jQuery – 解析页面加载后插入的 iframe

转载 作者:行者123 更新时间:2023-11-29 18:27:26 28 4
gpt4 key购买 nike

我是 jQuery 的新手,遇到了一些麻烦。 A 有一个页面,该页面在页面加载后插入了一个 iframe。我需要在 iframe 的内容中找到 anchor 链接,并将它们的 href 与 URL 进行比较。仅仅尝试纯 JavaScript getElementById() 是行不通的,因为 iframe 是在加载之后插入的。我读到我应该使用 jQuery 的 live()delegate()on(),但我不确定如何他们工作。此外,如果有一个纯 Javascript 解决方案,那也很棒。

我需要解析的iframe是:

<iframe src="http://assets.tumblr.com/iframe.html?10&src=http%3A%2F%2Fstaff.tumblr.com%2F&amp;lang=en_US&amp;name=staff"
scrolling="no" width="330" height="25" frameborder="0"
style="position:absolute; z-index:1337; top:0px; right:0px;
border:0px; background-color:transparent; overflow:hidden;"
id="tumblr_controls">
</iframe>

它附加到每个 Tumblr 博客(参见 Tumblr Staff Blog)。

我感兴趣的 iframe 内容部分如下所示:

<div style="position:absolute; top:3px; right:3px; white-space:nowrap; height:20px;">
<form action="/follow" method="post" style="display:block; float:left;" onsubmit="_gaq.push(['_trackEvent', 'Iframe', 'Follow', 'staff');">
<input type="hidden" name="form_key" value="8W0r1XnbOEtpTF0q8oe96BmGMJg"/>
<input type="hidden" name="id" value="staff"/>
<input type="image" src="http://assets.tumblr.com/images/iframe_follow_alpha.png 1018" style="width:58px; height:20px; border-width:0px; display:block; margin-left:3px; cursor:pointer;" alt="Follow"/>
</form>
<a target="_top" href="http://www.tumblr.com/dashboard">
<img src="http://assets.tumblr.com/images/iframe_dashboard_alpha.png?1018" alt="Dashboard" style="height:20px; width:81px; border-width:0px; display:block; float:left; cursor:pointer;"/>
</a>

我需要比较此内容中所有可能的 anchor 链接,并将它们的 href 与 URL 进行比较。

最佳答案

function getHref() {

var src = false,
iframe = $('iframe#tumblr_controls'); // keep reference of iframe;
// check that iframe loaded
if( iframe.length) {
src = iframe.find('a[target=_top]').attr('href');
}
}

现在您可以调用 getHref() 获取 iframe 中链接的 href 并将其用于比较。

您也可以尝试以下操作:

$('iframe#tumblr_controls').load(function() {
var href = $(this).find('a[target=_top]').attr('href');
});

如果您的内容中有多个 a 标签,请尝试:

function compareHrefs() {
var iframe = $('iframe#tumblr_controls'); // keep reference of iframe;
// check that iframe loaded
if( iframe.length) {
// looping over each tag
iframe.find('a').each(function() {
if ( this.href == TARGET_URL ) {
// do something
}
});
}
}

关于javascript - jQuery – 解析页面加载后插入的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11662368/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com