【问题标题】:How to get the url of an <a> tag inside iframe如何在 iframe 中获取 <a> 标签的 url
【发布时间】:2015-11-19 12:52:45
【问题描述】:

我在通过第三方广告脚本生成的页面中有多个 iframe(没有任何 ID/类)。我已经通过

提取了所有 iframe 对象
$(document).ready(function($){
$("iframe").each(function(index) {
   console.log(this);
var ur =  $(this).attr('src');

现在我需要在这个 iframe 中找到锚标签 url(即 href)(每个 iframe 中只有一个锚标签。请帮忙。

【问题讨论】:

  • 谢谢 试过了,还是不行,没有返回

标签: jquery iframe


【解决方案1】:

您可以使用 JQuery 上的子选择器来选择作为 iframe 标记子级的所有锚标记。

$("iframe a")

如果锚标记是 iframe 标记的第一个子标记,甚至是直接子选择器。

$("iframe > a")

【讨论】:

    【解决方案2】:

    获取当前元素(iframe)的子元素(a)并获取属性

    var url = $('a', this).attr('href');
    alert(url);
    &lt;iframe withd="50px"&gt; &lt;a href="google.com"&gt;&lt;/a&gt;&lt;/iframe&gt;

    【讨论】:

      【解决方案3】:

      你是说iframe来自第三方网站,那么由于same origin policy,你将无法通过javascript访问该网站的DOM内的元素。

      想想 javascript(如果可能的话),通过 PHP/Ruby/Python 获取页面然后解析内容,我不认为这可以在浏览器端完成。对于如何以您选择的语言获取和解析,您应该ask another question

      对此的简短回答是你不能,因为同源政策说:

      根据该政策,网络浏览器允许包含在第一个 网页来访问第二个网页中的数据,但前提是两个网页 页面具有相同的来源。原点被定义为 URI 方案、主机名和端口号。1 此策略可防止 一页上的恶意脚本获取对敏感数据的访问权限 通过该页面的文档对象模型在另一个网页上。

      对于达到这一点并希望在 iframe 上执行此操作的任何人

      $("iframe").each(function(){
          alert($(this).contents().find("a").first().attr("href"));
      });
      

      【讨论】:

      • 是的,它来自第三方网站,如果我们无法通过 Js/Jquery 访问它,那还有什么办法。我只需要那个 href 字符串。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 2014-02-18
      • 2010-10-04
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多