5行目:
5行目:
// ** **
// ** **
// **********************************************************************
// **********************************************************************
−
+
/**
−
$( function() {
+
* @source mediawiki.org/wiki/Snippets/Open_external_links_in_new_window
−
var $alinks = mw.util.$content.find( 'a' );
+
* @version 5
−
$alinks.each( function() {
+
*/
−
var $tablink = $( this );
+
mw.hook('wikipage.content').add(function($content) {
−
if ( $tablink.hasClass( 'external' ) && $tablink.attr( 'href' ).indexOf( mw.config.get( 'wgServer' ) ) !== 0 ) {
+
// Second selector is for external links in Parsoid HTML+RDFa output (bug 65243).
−
$tablink.attr( 'target', '_blank' );
+
$content.find('a.external, a[rel="mw:ExtLink"]').each(function () {
+
// Can't use wgServer because it can be protocol relative
+
// Use this.href property instead of this.getAttribute('href') because the property
+
// is converted to a full URL (including protocol)
+
if (this.href.indexOf(location.protocol + '//' + location.hostname) !== 0) {
+
this.target = '_blank';
+
if ( this.rel.indexOf( 'noopener' ) < 0 ) {
+
this.rel += ' noopener'; // the leading space matters, rel attributes have space-separated tokens
+
}
+
if ( this.rel.indexOf( 'noreferrer' ) < 0 ) {
+
this.rel += ' noreferrer'; // the leading space matters, rel attributes have space-separated tokens
+
}
}
}
});
});
});
});