为什么在iframe.getelementsbytagname中忽略 /未捕获 /未捕获 /未捕获 /未捕获某些链接?
我正在使用以下代码在网页中获取所有链接,即使在其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&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>
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:
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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论