Alle Links finden, die mit der Domain der Website, einem Schrägstrich, einem relativen Dateipfad oder einem Hashtag beginnen.
var siteURL = "http://" + top.location.host.toString();
var $internalLinks = $("a[href^='"+siteURL+"'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#']");
Sicherlich funktioniert das nur mit WordPress? Was ist, wenn ich einfach hätte <a href=”about/img” rel=”nofollow”>? Dies würde nicht ausgewählt. Sie müssten dies als Überschreibung verwenden.
Nein, es ist nur ein Jquery-Skript, das Sie überall auf jeder Website verwenden können, wie Sie möchten.
=), ich benutze das Folgende, um ALLE EXTERNE Links zu finden, für welche Art von Aufgabe möchten Sie die INTERNEN LINKS finden?
$(window).load( function() {
$("a[href*='http://']:not([href*='"+location.hostname+"'])").attr('target','_blank');
});
aber das Problem, auf das ich gestoßen bin, war, wenn der externe Link https:// hat, dann wird er nicht erkannt… wie würde ich das im obigen Beispiel beheben?
Warum verwenden Sie nicht einfach dieses
$(“[href*=’http’]:not([href*='”+location.hostname+”‘])”).attr(“target”,”_blank”);
Dies schlägt fehl, wenn Sie einen Link wie diesen haben
Gibt es eine Lösung, um solche Links ebenfalls einzuschließen?
fügen Sie einfach eine Klasse zu Ihrem Link hinzu und verwenden Sie :not()
fügen Sie Ihrem Link eine Klasse hinzu und verwenden Sie :not()
LuK, warum fügen Sie nicht beide Anweisungen zusammen (http und https) hinzu, durch Kommas getrennt? Ich habe es versucht, es funktioniert wunderbar.
Ich benutze das
und ich benutze niemals absolute URLs, um interne Links anzuzielen