为什么在iframe.getelementsbytagname中忽略 /未捕获 /未捕获 /未捕获 /未捕获某些链接?

发布于 2025-02-10 22:41:41 字数 2193 浏览 0 评论 0原文

我正在使用以下代码在网页中获取所有链接,即使在其iFrames中也可以在其iFrames中获取:

function GetTheLinks()
{
    var linksArray = [];
    var links = document.getElementsByTagName("a");
    var iLinksCount = links.length;
    for (var i = 0; i < iLinksCount; i++)
    {
        var link = links[i];
        linksArray.push(link.innerHTML);
        linksArray.push(link.innerText);
        linksArray.push(link.href);
    }
    var frames = document.getElementsByTagName("iframe");
    var iFramesCount = frames.length;
    for (var f = 0; f < iFramesCount; f++)
    {
        var doc = frames[f].contentDocument;
        if (doc)
        {
             links = doc.getElementsByTagName("a");
             alert(links.length + " links in frame " + f);
             var iLinksCount = links.length;
             for (var i = 0; i < iLinksCount; i++)
             {
                 var link = links[i];
                 linksArray.push(link.innerHTML);
                 linksArray.push(link.innerText);
                 linksArray.push(link.href);
             }
         }
         else
         {
             alert("Error!");
         }
    }
    return linksArray;
}

我面临着我的代码不会捕获某个链接的URL。 URL为这个

我想捕获的链接是:

”在此处输入图像描述

使用Chrome的开发工具,我可以看到它包含在框架中。

我在代码中做错了什么,以免抓住此链接?

谢谢你!

有其代码:

<a href="https://premium.zeit.de/bestellung/1932788?angebot=https%3A%2F%2Fpremium.zeit.de%2Fbestellung%2F1932788&amp;entry_service=pur&amp;url=https%3A%2F%2Fmeine.zeit.de%2Fbestellung_abschliessen%3Furl%3Dhttps%253A%252F%252Fwww.zeit.de%252Findex" class="option__button option__button--pur js-forward-link-purabo" data-encode-level="1" data-ct-label="purabo_button">
                                    <span class="visually-hidden">zeit.de Pur: </span>Jetzt abonnieren
                                </a>

I'm using the following code to get all links in a webpage, even in its iframes:

function GetTheLinks()
{
    var linksArray = [];
    var links = document.getElementsByTagName("a");
    var iLinksCount = links.length;
    for (var i = 0; i < iLinksCount; i++)
    {
        var link = links[i];
        linksArray.push(link.innerHTML);
        linksArray.push(link.innerText);
        linksArray.push(link.href);
    }
    var frames = document.getElementsByTagName("iframe");
    var iFramesCount = frames.length;
    for (var f = 0; f < iFramesCount; f++)
    {
        var doc = frames[f].contentDocument;
        if (doc)
        {
             links = doc.getElementsByTagName("a");
             alert(links.length + " links in frame " + f);
             var iLinksCount = links.length;
             for (var i = 0; i < iLinksCount; i++)
             {
                 var link = links[i];
                 linksArray.push(link.innerHTML);
                 linksArray.push(link.innerText);
                 linksArray.push(link.href);
             }
         }
         else
         {
             alert("Error!");
         }
    }
    return linksArray;
}

I am confronted with an URL where my code does not catch a certain link.
The URL is this one.

The link that I want to catch is this one:

enter image description here

Using Chrome's dev tools, I can see that it is contained in a frame.

What am I doing wrong in my code so that it doesn't catch this link?

Thank you!

There is its code:

<a href="https://premium.zeit.de/bestellung/1932788?angebot=https%3A%2F%2Fpremium.zeit.de%2Fbestellung%2F1932788&entry_service=pur&url=https%3A%2F%2Fmeine.zeit.de%2Fbestellung_abschliessen%3Furl%3Dhttps%253A%252F%252Fwww.zeit.de%252Findex" class="option__button option__button--pur js-forward-link-purabo" data-encode-level="1" data-ct-label="purabo_button">
                                    <span class="visually-hidden">zeit.de Pur: </span>Jetzt abonnieren
                                </a>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文