Không chắc nếu điều này thậm chí còn có thể, nhưng tôi có một hình thức AJAX như fiddle này:Nhấp Trở lại sau Fancybox AJAX Mẫu thông
http://jsfiddle.net/nicorellius/GfeEf/
Trên trang web của tôi, nó đang làm việc tốt. Tôi thực hiện xác nhận đơn giản trong biểu mẫu bằng JavaScript, nhưng nếu người dùng nhận được thông qua JavaScript, người dùng được hiển thị trang web Campaign Monitor: hoặc nói yay hoặc nay để xác thực của họ.
Khi người dùng đăng ký thành công, nếu người dùng nhấp lại hoặc sử dụng liên kết quay lại CM, hộp ưa thích sẽ vẫn còn với dữ liệu được điền. Dựa trên cách tôi có kịch bản được viết nó nên đóng sau khi gửi.
Đây là hành vi của Firefox trong Linux và Windows. Chrome thực sự xóa trang và xóa biểu mẫu fancyBox. Phần AJAX là ở đây:
$.ajax({
type : "POST",
cache : false,
url : "http://<comapny_name>.createsend.com/a/b/c/abcdef/",
data : $(this).serializeArray(),
// I've tried both of these commented out pieces to no avail.
//beforeSend : function() {
//$.fancybox.close(true);
//},
//success : function(data) {
//$.fancybox.close(true);
//}
});
Vì vậy, mặc dù nói thêm:
success : function() {
$.fancybox.close(true);
}
để kịch bản AJAX, tôi không thể làm cho nó đóng sau khi nộp.
EDIT
tôi nên lưu ý, quá, mà hiện tượng này dường như xảy ra với Firefox, Safari và Opera. Chrome hoạt động như tôi mong đợi (ví dụ: khi nhấp vào liên kết quay lại, tôi sẽ tải lại trang mới). Trang CM đang sử dụng javascript:history.go(-1)
để gửi lại cho tôi.
Vấn đề là khi tôi nhấp vào liên kết CM (sử dụng 'javascript: history.go (-1) ') để quay lại trang không tải lại, bởi vì tôi đang sử dụng cửa sổ bật lên fancyBox AJAX. Nó dường như tồn tại trong cùng một trạng thái như khi tôi rời nó. Và kể từ khi tôi đang sử dụng một trang HTML cho nội dung, thêm chức năng đóng để đóng fancyBox trước khi nó có thể mở. – nicorellius
history.go (-1) cũng nên tải lại trang. Bạn có thể thử gắn vào gọi lại 'hoàn thành', chứ không phải là thành công. Hoặc thay vì bên trong cuộc gọi .ajax của bạn, bạn có thể gọi .đóng ngay sau cuộc gọi .ajax của bạn. Tôi đoán nó sẽ khởi động cuộc gọi ajax của bạn với fancybox đóng –