Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Lập trình web: Chèn 2 pages vào một page.

21:14 11-06-2017 1.142 lượt xem 5 bình luận 07:01 12-06-2017

Mình không chắc tiêu đề mình ghi có đúng hay không.

Ý mình là, khi kéo chuột xuống hết nội dung, nó sẽ tự load ra thêm một trang khác, thay đổi cả đường dẫn url và tiêu đề trên tab của trình duyệt luôn. Mình muốn biết tên của kĩ thuật này và nếu có hướng dẫn, gợi ý (PHP hoặc ASP.Net, hoặc JavaScript, hoặc Jquery,....) thì càng tốt. Cảm ơn mọi người !

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
hunggarena12 đã bình luận 22:48 11-06-2017

Well để thay đổi url thì bạn có thể dùng pushState() của HTML5 để add history mới vào

window.history.pushState('Changed !', 'Changed title !', '/Changed url');

Bạn có thể paste trực tiếp đoạn code trên vào console của browser và quan sát url thay đổi mà không cần refresh

Còn thay title ? 

document.title = "This is new title"

Còn lại thì chỉ đơn giản là dùng ajax kéo nội dung mới và append vào trang cũ thôi, thay đổi url và title thì như trên ha ;)

K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 22:17 11-06-2017
function ChangeUrl(title, url) {
    if (typeof (history.pushState) != "undefined") {
        var obj = { Title: title, Url: url };
        history.pushState(obj, obj.Title, obj.Url);
    } else {
        alert("Browser does not support HTML5.");
    }
}
$(".chooseprofile >div >span").click(function () {
    $(".chooseprofile >div >span").removeClass("activeprofile");
    $(this).addClass("activeprofile");
    var valueshow = $(this).attr("data-value");
    $("#Profile").css("display", "none");
    $("#Statistics").css("display", "none");
    $("#Activity").css("display", "none");
  
    $(valueshow).css("display", "block");
    ChangeUrl($(this).attr('data-title'), $(this).attr('data-link'));
});

Manipulating the browser history

Có thể tạm gọi là vậy

ajax + với history.pushState

Câu hỏi mới nhất