Tôi đang phát triển một ứng dụng Facebook sử dụng backbone.js 0.3.3 và đang cố gắng đưa nút quay lại hoạt động bình thường cho người dùng.Thêm trạng thái lịch sử trong ứng dụng Facebook backbone.js (trong khung nội tuyến)
Xương sống lưu trạng thái thông qua hàm băm URL, được sử dụng để định tuyến nội bộ. Ví dụ: #home
sẽ tải trang chủ và #session
là một trang khác. Lịch sử được lưu khi điều này xảy ra bên ngoài khung nội tuyến, vì vậy bạn có thể điều hướng chính xác bằng cách sử dụng nút quay lại.
Điều hướng bên trong khung nội tuyến không phải là vấn đề và tất cả các liên kết đều hoạt động, nhưng không có lịch sử nào được lưu bởi trình duyệt.
Câu hỏi đặt ra:
Những điểm iframe Facebook để http://app.example.com
, đó là ứng dụng Backbone. Làm cách nào để có nút quay lại hoạt động cho người dùng trên ứng dụng Facebook? Điểm thưởng cho giải pháp hiện có sử dụng Backbone.
Tôi đã xem xét câu hỏi này từ nhiều góc độ và không thể tìm thấy giải pháp thỏa đáng có sẵn ở bất kỳ đâu. Có vẻ như rất ít ứng dụng Facebook sử dụng xương sống/dựa rất nhiều vào Javascript.
Tôi nghĩ rằng giải pháp là thêm trạng thái lịch sử vào cửa sổ chính của iframe, nhưng tôi không biết cách thực hiện điều đó. Lịch sử HTML5? Một số loại Facebook API? Ngay cả một giải pháp một phần (cho các trình duyệt hiện đại) là thích hợp hơn với tình hình hiện tại.
Bạn đã kiểm tra xem url iframe có thực sự có băm như '# home' trong khi điều hướng của người dùng không? Bởi vì trong khung nội tuyến, Facebook chiếm đoạt rất nhiều API JavaScript nên tôi không chắc liệu window.location có bị tấn công hay không. –
@Cat Chen: Thuộc tính iframe 'src' được đặt thành 'javascript:" "' và tôi đang gặp khó khăn khi tìm URL thực sự cho khung nội tuyến bằng cách sử dụng bảng điều khiển dành cho nhà phát triển Chrome (Tôi nghĩ chính sách tên miền chéo là thủ phạm) . – Wylie
Tôi hiểu. Tôi có một lời giải thích (xem câu trả lời của tôi), nhưng tôi chưa có giải pháp. –