在JavaScript中,获取页面中所有的URL可以通过多种方式实现,主要涉及到DOM(文档对象模型)的操作。以下是一些常见的方法和示例代码:
<a>
标签的href
属性)// 获取页面中所有的<a>标签
const links = document.querySelectorAll('a');
// 遍历所有的<a>标签并打印出href属性
links.forEach(link => {
console.log(link.href);
});
<img>
标签的src
属性)// 获取页面中所有的<img>标签
const images = document.querySelectorAll('img');
// 遍历所有的<img>标签并打印出src属性
images.forEach(img => {
console.log(img.src);
});
<script>
标签的src
属性)// 获取页面中所有的<script>标签
const scripts = document.querySelectorAll('script[src]');
// 遍历所有的<script>标签并打印出src属性
scripts.forEach(script => {
console.log(script.src);
});
<iframe>
标签的src
属性)// 获取页面中所有的<iframe>标签
const iframes = document.querySelectorAll('iframe');
// 遍历所有的<iframe>标签并打印出src属性
iframes.forEach(iframe => {
console.log(iframe.src);
});
// 获取页面中所有的<link>标签
const links = document.querySelectorAll('link[rel="stylesheet"]');
links.forEach(link => {
console.log(link.href);
});
// 获取页面中所有的<link>标签(字体文件)
const fonts = document.querySelectorAll('link[rel="preload"][as="font"]');
fonts.forEach(font => {
console.log(font.href);
});
如果你想获取页面中所有可能的URL,可以结合上述方法,遍历所有可能包含URL的标签:
const allElements = document.querySelectorAll('a, img, script[src], iframe, link[rel="stylesheet"], link[rel="preload"][as="font"]');
allElements.forEach(element => {
if (element.tagName === 'A') {
console.log(element.href);
} else if (element.tagName === 'IMG') {
console.log(element.src);
} else if (element.tagName === 'SCRIPT' && element.src) {
console.log(element.src);
} else if (element.tagName === 'IFRAME') {
console.log(element.src);
} else if (element.tagName === 'LINK' && element.href) {
console.log(element.href);
}
});
通过上述方法,你可以获取页面中所有可能的URL,并根据需要进行进一步处理。
领取专属 10元无门槛券
手把手带您无忧上云