jquery получает переменные из img src, а не из window.location.href - PullRequest
2 голосов
/ 26 августа 2010

Я нашел этот фрагмент кода, который работает угощение:

$.urlParam = function(name){
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    if (!results) { return 0; }
    return results[1] || 0;}
}

Так что, если строка URL / запроса была xyz.com/index.html?lang=de

простоcall var langval = $ .urlParam ('lang');и вы получили это

-

Моя информация исходит от нажатия на изображение, поэтому я создал этот код:

$('#admin-slideshow img').click(function() {
    alert($(this).attr('src'));
}

Так что, если код был:

<a href="#"><img src="image.php?url=image.jpg&tid=1&opn=1" /></a> 

это предупредит только об этом (image.php? Url = image.jpg & tid = 1 & opn = 1).

Моей мыслью было добавить этот фрагмент кода $ () .attr ( 'SRC');и замените его на window.location.href.Это не работает.Есть предложения?

$('#admin-slideshow img').click(function() {
    $.urlParam = function(name){
        var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec($(this).attr('src'));
        if (!results) { return 0; }
        return results[1] || 0;}
    }
}

Ответы [ 2 ]

2 голосов
/ 26 августа 2010

попробуйте это,

$.urlParam = function(name, src){
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec( src || window.location.href); // if src is undefined defualt is window.location.href
    if (!results) { return 0; }
    return results[1] || 0;
}

используйте его как

$.urlParam('lang',window.location.href); // for url or just $.urlParam('lang');
$.urlParam('lang',$('#admin-slideshow img').attr('src')); // for images

$('#admin-slideshow img').click(function() {
    alert($.urlParam('opn',this.src));
}
1 голос
/ 12 июня 2012
function urlParam( name ){
    var results = new RegExp( '[\\?&]' + name + '=([^&#]*)' ).exec( window.location.href );
    return ( results != undefined ) ? results[1] : false;

}

Устранение ошибок js, когда параметр URL не найден.

...