2017-06-07 16 views
6

vấn đề tôi đang gặp phải khá giống với tiêu đề mô tả nó. Tôi đang sử dụng Facebook auth (sử dụng JavaScript SDK) để người dùng có thể đăng nhập vào ứng dụng của tôi và nó hoạt động tốt với Chrome UNTIL Chrome phiên bản 59 (phiên bản mới nhất).Tab mở xác thực Facebook thay vì bật lên trong Chrome 59

Trước khi Chrome 59 (58, 57, ...) khi người dùng cố đăng nhập, cửa sổ bật lên Facebook mở và yêu cầu thông tin đăng nhập Facebook được thực hiện. Tuy nhiên, trong Chrome 59 thay vì cửa sổ bật lên, một tab mới sẽ được mở. Vấn đề là tab này không tập trung và người dùng không thấy rằng tab đó đã được mở hoặc đôi khi nó được mở và tải vô hạn.

Có ai khác đang gặp sự cố này không? Nếu vậy, có cách giải quyết nào không?

Cảm ơn!

SOLVED

Như commented by Raul Mangolin, vấn đề này đã là solved by Faceebook.

+0

Tôi đã mở một lỗi tại Facebook Bug Tracker và nó đã được gán cho "điều tra thêm". https://developers.facebook.com/bugs/470345923308265/ –

+0

Cảm ơn! Điều cần biết là họ đang phân tích điều này. –

+0

Sự cố vừa xuất hiện trên nhiều trang web khác, kể cả các trang web mà tôi tự phát triển. Phải là thay đổi (lỗi hoặc tính năng) trong Chrome 59. – Hannobo

Trả lời

3

Chrome 59 dường như xử lý location=yes trong window.open giờ đây khác. Tôi cho rằng đây là lỗi, vì Chrome vẫn hiển thị thanh vị trí và tôi không thể tìm thấy mục nhập nhật ký thay đổi về điều này.

Vì vậy, nếu bạn có bất kỳ ảnh hưởng nào về cách cửa sổ bật lên được mở, sau đó, hãy thay đổi nó thành location=no làm giải pháp thay thế ngay bây giờ.

// Opens as new tab in Chrome 59 
// Older versions and all other browsers open it as popup 
window.open("https://www.facebook.com","","location=yes") 

// Opens as popup also in Chrome 59 
// Chrome, Firefox and Edge show location bar regardless; IE shows URL in title 
window.open("https://www.facebook.com","","location=no") 

thử nó cho mình: http://output.jsbin.com/hikeleyiwe

Như Raul Mangolin chỉ ra, Facebook là ý thức về vấn đề này: https://developers.facebook.com/bugs/470345923308265/

1

Trong Chrome 59 nó sẽ mở tab mới thay vì một cửa sổ popup nếu "location" hoặc "toolbar" được đặt thành "yes".

Chỉ cần đặt chúng vào "no", như thế này:

"location=no, toolbar=no"

Ngoài ra còn có một giải pháp đơn giản - chỉ cần không bao gồm các báo cáo ở tất cả và sau đó bật lên sẽ mở ra thay vì một tab mới.

+0

'location-yes' quan trọng đối với xác thực/thanh toán bên thứ 3 trong dòng để xác nhận cửa sổ bật lên thực sự là trang web của bên thứ ba thay vì trang web lừa đảo giống như (thông qua url và EV cert). –

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