我有一个javascript代码,可显示textarea /文本框中的所有网址。我想显示这些网址的网络标题。但是我不想加载整个网站(get_content),因为它会操纵页面上的其他JavaScript。如何显示标题?
我的代码
<script>
let result = $("#converted_url");
$("#textarea_input").on("input", function() {
result.html("");
var urlRegex = /(?:(?:http|https):\/\/)?([-a-zA-Z0-9.]{2,256}\.[a-z]{2,4})\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
var found = [];
$("#textarea_input").val().replace(urlRegex, function(url) {
let trimmedUrl = url.replace(/^(?:https?:\/\/)?(?:www\.)?/i, "");
if (found.includes(trimmedUrl)) {
return;
}
found.push(trimmedUrl);
var link = '<a target="_blank" href="' + url + '">' + TITLE + '</a>';
result.append(link);
});
});
</script>
应输出如下内容:
答案 0 :(得分:1)
简单地说:您不能。网页的标题仅存储在其HTML内容中,因此,如果不下载该内容,就无法获得标题。我不明白“它操纵我页面上的Javascript”是什么意思-如果您对所需的URL进行AJAX调用(假设它是同一个域或启用了CORS),您将获得原始文件源代码作为要解析的字符串,它不会影响页面上的其他任何内容。