10

Abrir los enlaces externos en una nueva pestaña o ventana.

Desde hace bastante tiempo que pensaba como se podría hacer para que nuestros enlaces externos que copiamos en nuestro Blog. se lográn abrir en una pestaña o ventana nueva........

Bueno, luego de meterme en la Blogosfera, encontre en el Blog de Gem@ una entrada que hacía referencia a ello. pero no me resultó, luego, en Vagabundia que muy bien explicado lo hacía presente, pero no lo logré hacer (parece que me falta bastante)......

Y hoy viendo el Blog de Syl, encontre una cosa que me gustó......y la intriga de como hacerlo me inquietó........solución...en La Bloguería estaba la solución.......un script muy facil de configurar........aplicando un código Javascript/Html en la sidebar, se logra a la perfección......

Como lo hice:

1°: Configura lo que está en rojo como se indica.

<!--
/*
Link Target Preferences v.1.1
http://www.noscope.com/journal/2004/10/link-target-preferences
*/

// BEGIN Configuration
// estas URLs seran consideradas internas y se ignoraran
var url_1 = "http://MIBLOG.blogspot.com";
var url_2 = "http://www.google.com";

// Preferencia por defecto:
// El valor "true" abre los enlaces en nueva ventana por defecto, "false" los abre en la misma
var open_blank_default = true;

// Titulo Blog - se usa solo para no crear interfencian con las cookies
// No espacios, ni caracteres especiales

var site_title = "elblogdepatan";
// FIN configuracion

// Cookie Functions
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
// Checkbox Loader
function loadLinkPrefs () {
if (readCookie(site_title+"_linkprefs_cookie")) {
initVal = readCookie(site_title+"_linkprefs_cookie"); // Load cookied preference
} else {
createCookie(site_title+"_linkprefs_cookie", true, 20000)
initVal = open_blank_default; // If no cookie is set
}
openBlank = initVal;
setCheckbox(eval(initVal))
}
// Set Checkbox State
function setCheckbox(state) {
openBlank = state;
document.getElementById('linkprefs').checked = state;
setTargets();
createCookie(site_title+"_linkprefs_cookie", state, 20000)
}
// Configure Link Targets
function setTargets() {
var link, l = 0;
if (openBlank == true) {
while (link = document.links[l++]) {
// Open in _blank, except all links starting with...
if (link.href.indexOf(url_1) == -1 && link.href.indexOf(url_2) == -1 && link.href.indexOf('javascript') == -1) link.target = '_blank';
}
} else {
while (link = document.links[l++]) {
// Open in _top, except all links starting with...
if (link.href.indexOf(url_1) == -1 && link.href.indexOf(url_2) == -1 && link.href.indexOf('javascript') == -1) link.target = '_top';
}
}
}
// Event Listener, by Scott Andrew
function addEvent(obj, evType, fn) {
if (obj.addEventListener) {
obj.addEventListener(evType, fn, true);
return true;
} else if (obj.attachEvent) {
var r = obj.attachEvent('on'+evType, fn);
return r;
} else {
return false;
}
}
//-->

Luego copia y pega todo este código en el bloc de notas, y guárdalo como linkprefs.js.

2°: Lo subes a tu servidor y lo pegas añade la URL a esta línea, y pégala antes de </head>:

<script src='http://TUALOJAMIENTO/linkprefs.js' type='text/javascript'/>

3°: Agregas el siguiente código en la parte de la sidebar qeu más quieras:


<div class="linkprefs"> <p style="display: block;"><input id="linkprefs" value="linkprefs" name="linkprefs" onclick="setCheckbox(document.getElementById('linkprefs').checked);" type="checkbox"/> <label for="linkprefs" title="opciones de navegacion">Abrir enlaces externos en nueva ventana</label></p><span></span> <script type="text/javascript">addEvent(window, 'load',loadLinkPrefs);</script> </div>

Esto lo ví en La Bloguería

Si existe algún enlace o Link malo, avísame

10 Comentarios:

Club de Fans Oficial de Cesar Blanco dijo...

Muy interesante la entrada...

La Blogueria dijo...

¡Funciona de 10! Me gusta muchisimo el nuevo diseño :D

Scorpion19 dijo...

Oye genial la info me has salvado mi blog

He tenido un widget que hace que vea las visitas y cuanto duran

y la mayoria 5 minutos ya que tengo muchos enlaces externos,(descargas,imagenes,etc.)

gracias

Cristobal dijo...

Gracias por el código.

Patán dijo...

Cristobal, que bueno que te sirvio.

||..Daviid..|| dijo...

amiigo q alojamiento recomiendas o en cual podria subirlo.???

Docc Samson dijo...

HOla
Gracias por la información.

Puedes indicarme si se puede poner por defecto, sin que se tenga que seleccionar nada, y como?

Anonymous dijo...

Son Una mierda

Anonymous dijo...

Donde supuestamente está (parte de la sidebar) en el blog..??

BDJMarcelo dijo...

Gracias por la ayuda pero me gustaría saber como mantener siempre activa la opción para que ser redireccionen los enlaces a otra pestaña sin necesidad de activar el cuadro del SIDEBAR.?

Déjame tu comentario......

 
ir arriba