2011-11-09 43 views
8

Khi tôi cố gắng đăng nhập qua tài khoản Facebook OAuth mọi việc suôn sẻ ok cho đến khi phần url chuyển hướng với một cái gì đó như thế này:Facebook OAuth Đăng nhập với Jquery Mobile # _ = _

http://mywebsite.com/facebookoauthbackpage.php#_=_ 

Tôi đang sử dụng jQuery Mobile trên của tôi các trang và tôi nghĩ rằng # = là sự cố.

Trang này trống và không có gì xảy ra. Nếu tôi xóa "# =", tất cả sẽ ổn và hành động diễn ra bình thường.

Có ai có ý tưởng nào về cách sửa lỗi đó không? Tôi đã nhận thấy rằng việc xóa "# =" khỏi Facebook sẽ không còn khả dụng nữa, vì vậy có thể xóa nội dung nào đó khỏi tập lệnh di động jQuery có thể giải quyết được bằng javascript, nhưng tôi không biết cách thực hiện điều đó.

Trả lời

17

Bạn có thể cố gắng mạnh mẽ loại bỏ các hash vào đầu html của bạn, một cái gì đó giống như

<script> 
if (window.location.hash == "#_=_") 
     window.location.hash = ""; 
</script> 

Về mặt lý thuyết thói quen sẽ được gọi trước khi $ (document) .ready :) (chưa bao giờ thử nó trên jquery di động mặc dù)

+0

Phải, đây là giải pháp cơ bản. Ở đâu trên trái đất có '_ = _' đến từ đâu? – maxl0rd

+0

"Tuần này, chúng tôi đã bắt đầu thêm một đoạn # _ = _ vào redirect_uri khi trường này được để trống. Vui lòng đảm bảo rằng ứng dụng của bạn có thể xử lý hành vi này". -> https://developers.facebook.com/blog/post/552/ – azureru

+0

Điều này làm việc tuyệt vời, đã được tìm kiếm một giải pháp cho tất cả các ngày này - Caio bạn nên chấp thuận câu trả lời trừ khi bất cứ ai khác có một ý tưởng tốt hơn. – MBHNYC

Các vấn đề liên quan