Có cách nào để lấy từng phần tử trong link không?

Xin chào anh em mình có một vấn đề là có một link gửi đi với dạng

var link = 'print?path=' + Array(imgUrl, width, height);

và bên trang con mình nhận được link dạng này

http://abc.com/print?path=front_1_1_l.jpg,360,451

vậy có cách nào lấy từng phần tử trong đó ra không vậy? ( 360 là width của img, và 451 là height của img)

cảm ơn mọi người nha

Sao bạn lại dùng dấu , để phân biệt giữa các tham số vậy? Sao không dùng cách phổ biến:
Vd: http://example.com?path=front_1_1_l.jpg&w=360&h=451

Để lấy ra các tham số thì làm như sau:

var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'), sParameterName, i;

for (i = 0; i < sURLVariables.length; i++) {
    sParameterName = sURLVariables[i].split('=');

    if (sParameterName[0] === sParam) {
        return sParameterName[1] === undefined ? true : sParameterName[1];
    }
}
};

Để lấy ra giá trị của than số:

var path= getUrlParameter('path');
var width= getUrlParameter('w');
var height= getUrlParameter('h');

Còn nếu bắt buộc phải xài url như bạn thì
1/ Lấy ra query string: window.location.search câu này sẽ trả ra:?path=front_1_1_l.jpg,360,451
2/ Code xử lí xóa dấu ? và split string theo dấu , là ra được 1 mảng giá trị (nhưng làm cách này thì phải tự biết vị trí nào là giá trị của tham số nào)

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?