Warum erstellt #4 bei jeder Schleifeniteration ein neues reguläres Ausdrucksobjekt? Das wäre ziemlich langsam, da der reguläre Ausdruck bei jeder Iteration geparst werden müsste. Ich denke, es wäre deutlich schneller, einen RegExp vor Beginn der Schleife zu erstellen.
Das ist großartig, aber ich bin neu bei jQuery – wie benutzt man diesen Code? Ich nehme an, er kommt irgendwo in den Kopfbereich, und dann gibt es eine CSS-Regel für „extern“ – aber braucht er Skript-Tags usw.?
Kann man diese CSS-Technik verwenden, um dies einzufügen target=”_blank” in das href-Tag? Ich möchte alle externen Links auf einer Seite finden und sie in einem separaten Fenster öffnen, nicht sie stylen.
@Rory, die Antwort auf Ihre Frage lautet, Stand März 2015: Nein. Es ist nicht möglich, bestimmte Links dazu zu bringen, auf eine bestimmte Weise zu öffnen, nur mit CSS. Nachdem ich darüber nachgedacht habe, wäre das die Entwicklung von Websites erleichtern.
Hallo Freunde!! Ich habe hier zwei Fragen. Erstens, wie kann ich die Standardauswahl eines Radiobuttons verhindern?
Zweitens, wie kann ich ein neues Fenster im übergeordneten Fenster des aktuellen öffnen? Ich habe Code wie diesen verwendet window.open(‘mypage.html’ , ‘_parent’)
Mit reinem CSS können Sie dies erreichen, indem Sie alle Links so einstellen, dass sie die externe Behandlung erhalten, und die Kaskade mit Attributselektoren verwenden, um Ihre Ausschlüsse anzusprechen und aufzuheben. Diese Technik funktioniert wahrscheinlich nicht in allen Browsern (*hüstel* oldIE), ist aber nützlich, wenn Sie keine vollständige Kontrolle darüber haben, wie Ihr Markup erstellt wird – z. B. in einem CMS mit inkonsistenten Modulen/Plugins, die Markup schreiben –, wo Sie eine Mischung aus absoluten und relativen Links haben und keine Möglichkeit, eine class="external", rel="external", target="_blank" usw. anzuwenden, und Sie sich nicht auf JavaScript verlassen möchten.
/* target all anchors with an href attribute */
a[href] {
display: inline-block;
}
/* do something special to indicate an external link */
a[href]:after {
content: ">";
}
/* target what you consider to be "internal" links and undo styles */
a[href*="your.domain.com"],
a[href^="/"],
a[href^="#"],
a[href^="mailto:"],
a[href^="javascript:"] {
display: inline;
}
/* undo */
a[href*="your.domain.com"]:after,
a[href^="/"]:after,
a[href^="#"]:after,
a[href^="mailto:"]:after,
a[href^="javascript:"]:after {
content: none;
}
Ich versuche, den RSS-Feed auf meiner Website in einem neuen Tab zu öffnen, aber es funktioniert nicht. Ich habe alles versucht, bitte helfen Sie mir. Ich denke, dieses Skript verhindert das. Ich bin neu hier. Können Sie mir bitte sagen, was ich hier ändern muss, damit externe Links in einem neuen Tab geöffnet werden. $(document).ready(function() { function filterPath(string) { return string .replace(/^\//,”) .replace(/(index|default).[a-zA-Z]{3,4}$… .replace(/\/$/,”);
} var locationPath = filterPath(location.pathname); var scrollElem = scrollableElement(‘html’, ‘body’);
// Verwenden Sie das erste Element, das "scrollbar" ist function scrollableElement(els) { for (var i = 0, argLength = arguments.length; i <argLength; i++) { var el = arguments[i], $scrollElement = $(el); if ($scrollElement.scrollTop()> 0) { return el; } else { $scrollElement.scrollTop(1); var isScrollable = $scrollElement.scrollTop()> 0; $scrollElement.scrollTop(0); if (isScrollable) { return el;
}
}
} return [];
}
Hallo und danke für Ihre Informationen – ich habe hier definitiv etwas Neues gelernt. Ich habe jedoch einige technische Probleme mit dieser Website gehabt, da ich die Website mehrmals neu laden musste, bevor sie richtig geladen werden konnte. Ich habe mich gefragt, ob Ihr Hosting in Ordnung ist? Nicht, dass ich mich beschwere, aber langsame Ladezeiten beeinträchtigen oft Ihre Platzierung bei Google und könnten Ihre Qualitätsbewertung beeinträchtigen, wenn Sie mit Adwords werben. Auf jeden Fall füge ich diesen RSS zu meiner E-Mail hinzu und werde nach viel mehr Ihrer faszinierenden Inhalte Ausschau halten. Bitte aktualisieren Sie dies bald wieder.
Okay, das ist cool und so, aber… Für einen Anfänger wie mich, wo und wie füge ich das ein? Ich brauche es für eine Website, an der ich gerade arbeite. Bitte, wenn Sie Anfänger berücksichtigen können, brauche ich Schritt für Schritt.
BOO YAH – liebe es! Danke Chris für die Zusammenstellung von externen Links, die entweder über CSS-Selektoren oder modulare jQuery angesprochen werden.
In der sehr begrenzten Ergebnismenge ist Technik #1 eindeutig die schnellste. Ich habe Technik #3 weggelassen (wollte keine URL hartcodieren). Technik #4 ist die langsamste.
Was ist, wenn ich externe Website-Links (weiterführende Seiten) in demselben Div öffnen möchte, in dem die Website angezeigt wird, ohne zur nächsten Seite zu wechseln oder die URL zu ändern? Ich möchte nur, dass sie in demselben Div geöffnet werden, in dem die externe Website bereits angezeigt wird.
Referenz-URL funktioniert nicht mehr.
Ich nehme an, der Autor hat ihn entfernt… tut mir leid. Ich habe den Link entfernt und eine zusätzliche Technik hinzugefügt.
Gibt es Informationen darüber, welche dieser Methoden für die Leistung optimal ist? (Ich vermute nicht #4 heheh)
Ich habe ehrlich gesagt keine Ahnung, das wäre gut zu wissen.
Warum erstellt #4 bei jeder Schleifeniteration ein neues reguläres Ausdrucksobjekt? Das wäre ziemlich langsam, da der reguläre Ausdruck bei jeder Iteration geparst werden müsste. Ich denke, es wäre deutlich schneller, einen RegExp vor Beginn der Schleife zu erstellen.
Das ist großartig, aber ich bin neu bei jQuery – wie benutzt man diesen Code? Ich nehme an, er kommt irgendwo in den Kopfbereich, und dann gibt es eine CSS-Regel für „extern“ – aber braucht er Skript-Tags usw.?
Mach es mit CSS
a[href^=”http://”]{ /*Externen Link hier stylen*/ }
Schön – aber das würde nicht funktionieren, wenn man ein CMS-System hat, das absolute URLs verwendet (ich glaube, WordPress macht das?)
Kann man diese CSS-Technik verwenden, um dies einzufügen
target=”_blank”
in das href-Tag? Ich möchte alle externen Links auf einer Seite finden und sie in einem separaten Fenster öffnen, nicht sie stylen.
Nur für den Fall, dass jemand dies wie ich entdeckt und eine reine CSS-Alternative möchte, hier ist, was ich verwendet habe
a[href*="//"]:after {content: ">"}Dies ist hauptsächlich nur für relative Links gedacht, da sonst Ihre eigenen Links den
content:">"erhalten.@Rory, die Antwort auf Ihre Frage lautet, Stand März 2015: Nein. Es ist nicht möglich, bestimmte Links dazu zu bringen, auf eine bestimmte Weise zu öffnen, nur mit CSS. Nachdem ich darüber nachgedacht habe, wäre das die Entwicklung von Websites erleichtern.
Warum nicht document.domain verwenden, anstatt die Domain manuell einzugeben?
@Rory – Sie können es so machen :)
a[target=”_blank”] { yourstyle: style !important; }
@Jon, ich glaube, @Rory hat gefragt, ob es möglich ist, Code aus CSS in HTML einzufügen, nicht wie man ihn stylt.
Hallo Freunde!!
Ich habe hier zwei Fragen.
Erstens, wie kann ich die Standardauswahl eines Radiobuttons verhindern?
Zweitens, wie kann ich ein neues Fenster im übergeordneten Fenster des aktuellen öffnen? Ich habe Code wie diesen verwendet
window.open(‘mypage.html’ , ‘_parent’)
Was ist das Problem mit diesem Code??????
Helfen Sie mir bitteeeeeeeee
Mit reinem CSS können Sie dies erreichen, indem Sie alle Links so einstellen, dass sie die externe Behandlung erhalten, und die Kaskade mit Attributselektoren verwenden, um Ihre Ausschlüsse anzusprechen und aufzuheben. Diese Technik funktioniert wahrscheinlich nicht in allen Browsern (*hüstel* oldIE), ist aber nützlich, wenn Sie keine vollständige Kontrolle darüber haben, wie Ihr Markup erstellt wird – z. B. in einem CMS mit inkonsistenten Modulen/Plugins, die Markup schreiben –, wo Sie eine Mischung aus absoluten und relativen Links haben und keine Möglichkeit, eine
class="external",rel="external",target="_blank"usw. anzuwenden, und Sie sich nicht auf JavaScript verlassen möchten.Ich versuche, den RSS-Feed auf meiner Website in einem neuen Tab zu öffnen, aber es funktioniert nicht. Ich habe alles versucht, bitte helfen Sie mir. Ich denke, dieses Skript verhindert das. Ich bin neu hier. Können Sie mir bitte sagen, was ich hier ändern muss, damit externe Links in einem neuen Tab geöffnet werden.
$(document).ready(function() {
function filterPath(string) {
return string
.replace(/^\//,”)
.replace(/(index|default).[a-zA-Z]{3,4}$…
.replace(/\/$/,”);
}
var locationPath = filterPath(location.pathname);
var scrollElem = scrollableElement(‘html’, ‘body’);
$(‘a[href*=#]’).each(function() {
var thisPath = filterPath(this.pathname) || locationPath;
if ( locationPath == thisPath
&& (location.hostname == this.hostname || !this.hostname)
&& this.hash.replace(/#/,”) ) {
var $target = $(this.hash), target = this.hash;
if (target) {
var targetOffset = $target.offset().top;
$(this).click(function(event) {
event.preventDefault();
$(scrollElem).animate({scrollTop: targetOffset}, 400, function() {
location.hash = target;
});
});
}
}
});
// Verwenden Sie das erste Element, das "scrollbar" ist
function scrollableElement(els) {
for (var i = 0, argLength = arguments.length; i <argLength; i++) {
var el = arguments[i],
$scrollElement = $(el);
if ($scrollElement.scrollTop()> 0) {
return el;
} else {
$scrollElement.scrollTop(1);
var isScrollable = $scrollElement.scrollTop()> 0;
$scrollElement.scrollTop(0);
if (isScrollable) {
return el;
}
}
}
return [];
}
});
Hallo und danke für Ihre Informationen – ich habe hier definitiv
etwas Neues gelernt. Ich habe jedoch
einige technische Probleme mit dieser Website gehabt, da ich die Website mehrmals neu laden musste, bevor sie richtig geladen werden konnte.
Ich habe mich gefragt, ob Ihr Hosting in Ordnung ist? Nicht, dass ich mich beschwere, aber langsame Ladezeiten
beeinträchtigen oft Ihre Platzierung bei Google
und könnten Ihre Qualitätsbewertung beeinträchtigen, wenn Sie mit Adwords werben.
Auf jeden Fall füge ich diesen RSS zu meiner E-Mail hinzu und werde nach viel mehr Ihrer faszinierenden Inhalte Ausschau halten.
Bitte aktualisieren Sie dies bald wieder.
Ich handhabe es im Moment so
Es steht auch hier.
Okay, das ist cool und so, aber… Für einen Anfänger wie mich, wo und wie füge ich das ein? Ich brauche es für eine Website, an der ich gerade arbeite. Bitte, wenn Sie Anfänger berücksichtigen können, brauche ich Schritt für Schritt.
Vielen Dank.
BOO YAH – liebe es!
Danke Chris für die Zusammenstellung von externen Links, die entweder über
CSS-Selektoren oder modulare jQuery angesprochen werden.
Zeitersparnis!
Falls jemand dies noch in Betracht zieht, habe ich einen jsperf Performance-Test erstellt
http://jsperf.com/adding-class-to-external-links
In der sehr begrenzten Ergebnismenge ist Technik #1 eindeutig die schnellste. Ich habe Technik #3 weggelassen (wollte keine URL hartcodieren). Technik #4 ist die langsamste.
Was ist, wenn ich externe Website-Links (weiterführende Seiten) in demselben Div öffnen möchte, in dem die Website angezeigt wird, ohne zur nächsten Seite zu wechseln oder die URL zu ändern? Ich möchte nur, dass sie in demselben Div geöffnet werden, in dem die externe Website bereits angezeigt wird.
@Mark: Variante von #3
@Rory
Ich habe 3 bestimmte URLs auf einer WordPress-Website, die ich in einem neuen Tab öffnen möchte. Was ist der beste Weg, dies zu tun?
Verwenden Sie das Attribut
"norefferer noopener"für diese.