如何获得href,href怎么设置链接地址

首页 > 技术 > 作者:YD1662023-04-16 13:28:44

话不多说直接上代码[狗头]

function getitle(path) { return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.open("get", path); xhr.send(); xhr.onload = function(ms) { if (xhr.status == 200) { var contenx = xhr.responseText; var star = contenx.indexOf('<title>') 7; var end = contenx.indexOf('</title>'); resolve(contenx.substring(star, end)); } } }) }

这里使用了Promise,可以在async中使用await处理异步问题;

接下来一个例子[左上]: 获取多个a标签,并获取该Link的title内容后拼接为新的a标签,然后保存为txt;也就是这种格式: <a href="" alt="">xxx</a>

function save2text(data, filename) { //这个函数是保存为txt格式 if (!data) { console.error('Console.save: No data') return; } if (!filename) filename = 'linka.txt' if (typeof data === "object") { data = JSON.stringify(data, undefined, 4) } var blob = new Blob([data], { type: 'text/plain;charset=utf-8' }), e = document.createEvent('MouseEvents'), a = document.createElement('a') a.download = filename a.href = window.URL.createObjectURL(blob) a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':') e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null) a.dispatchEvent(e) } function getitle(path) { //这个是获取url的title return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.open("get", path); xhr.send(); xhr.onload = function(ms) { if (xhr.status == 200) { var contenx = xhr.responseText; var star = contenx.indexOf('<title>') 7; var end = contenx.indexOf('</title>'); resolve(contenx.substring(star, end)); } } }) } var tems = ''; var aa = document.querySelectorAll("#content a"); //获得a元素 Promise.all(Array.prototype.map.call(aa, async (item, index) => { //执行同步Promise队列 var ss = await getitle(item.href); tems = '<a href="' item.href '" alt="' ss '">' ss '</a>\n\r'; })).then(() => { console.log('构造成功,正在导出文件...'); save2text(tems); });

以上就是实现过程; 当然这可以天马行空[思考],或者你可以直接保存title等等; 以上代码是我用来解析站点sitemap的所有Link并保存,方便我进行外链布置[看]

--文章来源于本人个人站点,同为原创作者,转载需注明出处:

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.