Mi cerebro es un cajero automático frito y tengo una fecha límite inminente, estoy buscando una manera de tomar las URL de las páginas que se ven actualmente y colocarlas en otro enlace para marcadores / enlaces sociales.

Facebook link:http://www.facebook.com/share.php?u=[PAGEURL]
Myspace link:http://www.myspace.com/Modules/PostTo/Pages/?u=[PAGEURL]
Twitter link: http://twitter.com/home?status=Check+this+out:+[PAGEURL]
Stumble Upon link:http://www.stumbleupon.com/submit?url=[PAGEURL]
Digg link: http://digg.com/submit?phase=2&url=[PAGEURL]

Necesito reemplazar [PAGEURL] con la URL de la página que se está viendo. Cualquier ayuda es muy apreciada. He estado buscando durante un tiempo y parece que no puedo encontrar una respuesta que se ajuste a esta circunstancia específica.

1
Jamie 1 dic. 2009 a las 04:10

3 respuestas

La mejor respuesta

Sería útil ver en qué tipo de estructura están esos enlaces. Pero, aquí hay algunos jQuery que pueden apuntarlo en una buena dirección. Se supone que sus enlaces de marcadores sociales se encuentran en un contenedor con id="socials", pero puede hacer clic en el selector para hacer lo que sea necesario para obtener sus enlaces sociales.

$(function() {
    var links = $('#socials a'),
        matchExp = /\[PAGEURL\]/,
        currentURL = location.href;

    links.each(function() {
        var currentHREF = $(this).attr('href');
        if (currentHREF.match(matchExp)) {
            $(this).attr('href',currentHREF.replace(matchExp,currentURL));
        }
    });

});

Utiliza la función attr para llegar a donde apunta el enlace, luego una expresión regular ( eww!) para verificar si el enlace tiene [PAGEURL] y reemplazar [PAGEURL] con location.href, que es la url de la página actual. Aquí hay un útil regexp tester.

2
Dan F 1 dic. 2009 a las 01:34

window.location.href debería funcionar.

1
Jacob Relkin 1 dic. 2009 a las 01:15

Me imagino que sería algo como

var faceBookUrl = "http://www.facebook.com/share.php?u=" + location.href
1
stimms 1 dic. 2009 a las 01:16