ผ่านการอัพเดทแพลตฟอร์มของ Facebook :
การเปลี่ยนแปลงในพฤติกรรมการเปลี่ยนเส้นทางเซสชัน
ในสัปดาห์นี้เราเริ่มเพิ่มส่วน # ____ = ____ ลงใน redirect_uri เมื่อฟิลด์นี้เว้นว่างไว้ โปรดตรวจสอบให้แน่ใจว่าแอปของคุณสามารถจัดการพฤติกรรมนี้ได้
เพื่อป้องกันสิ่งนี้ตั้งค่า redirect_uri ในคำขอ URL การเข้าสู่ระบบของคุณดังนี้: (ใช้ Facebook php-sdk)
$facebook->getLoginUrl(array('redirect_uri' => $_SERVER['SCRIPT_URI'],'scope' => 'user_about_me'));
UPDATE
ด้านบนตรงตามที่เอกสารระบุไว้เพื่อแก้ไขปัญหานี้ อย่างไรก็ตามโซลูชันที่เป็นเอกสารของ Facebook ไม่ทำงาน โปรดพิจารณาการแสดงความคิดเห็นในโพสต์บล็อกการอัปเดตแพลตฟอร์ม Facebookและทำตามข้อบกพร่องนี้เพื่อรับคำตอบที่ดีขึ้น ก่อนหน้านั้นให้เพิ่มสิ่งต่อไปนี้ในแท็กหัวของคุณเพื่อแก้ไขปัญหานี้:
<script type="text/javascript">
if (window.location.hash && window.location.hash == '#_=_') {
window.location.hash = '';
}
</script>
หรือทางเลือกที่มีรายละเอียดมากขึ้น (ขอบคุณniftylettuce ):
<script type="text/javascript">
if (window.location.hash && window.location.hash == '#_=_') {
if (window.history && history.pushState) {
window.history.pushState("", document.title, window.location.pathname);
} else {
// Prevent scrolling by storing the page's current scroll offset
var scroll = {
top: document.body.scrollTop,
left: document.body.scrollLeft
};
window.location.hash = '';
// Restore the scroll offset, should be flicker free
document.body.scrollTop = scroll.top;
document.body.scrollLeft = scroll.left;
}
}
</script>