Nền: Tôi có một trang HTML cho phép bạn mở rộng một số nội dung nhất định. Vì chỉ một phần nhỏ của trang cần được tải để mở rộng như vậy, nó được thực hiện thông qua JavaScript và không phải bằng cách chuyển hướng đến trang URL/HTML mới. Tuy nhiên, như một phần thưởng cho người sử dụng có thể kết tới các phần mở rộng như vậy, ví dụ: gửi người khác một URL nhưXóa đoạn trong URL có JavaScript w/out khiến tải lại trang
và có "foobar" loại được mở ra ngay lập tức cho người dùng khác. Điều này làm việc bằng cách sử dụng parent.location.hash = 'foobar', do đó, một phần là tốt.
Bây giờ câu hỏi: Khi người dùng đóng như một thể loại trên trang web, tôi muốn để trống phân đoạn URL một lần nữa, ví dụ: biến http://example.com/#foobar vào http://example.com/ để cập nhật màn hình hiển thị permalink. Tuy nhiên, làm như vậy bằng cách sử dụng parent.location.hash = ''
làm cho tải lại toàn bộ trang (trong Firefox 3 chẳng hạn), mà tôi muốn tránh. Sử dụng window.location.href = '/#'
sẽ không kích hoạt tải lại trang nhưng để lại dấu "#" có phần hơi không rõ ràng trong URL. Vậy có cách nào trong các trình duyệt phổ biến để JavaScript loại bỏ một neo URL bao gồm dấu "#" mà không kích hoạt làm mới trang không?
[câu hỏi liên quan này] (http://stackoverflow.com/questions/3009380/whats-the-shebang-hashbang-in-facebook-and-new-twitter-urls-for) là một điều thú vị . –