2017-04-24 46 views
1

當我嘗試使用此代碼關閉網頁視圖:MessengerExtensions.requestCloseBrowser()不會關閉桌面

MessengerExtensions.requestCloseBrowser(function success() {}, function failure(err) { 
    alert('error closing the window: ' + err); // error closing the window: 
    console.log(err); // doesn't print 
    window.close(); 
}); 

它關閉在iOS上的web視圖,但是當我從桌面彈出嘗試警報。 我的域名被列入白名單,messenger_extensions = true,我從桌面使者進入頁面,但它仍然無效。

我同樣的問題有過,但方向相反(窗關閉在桌面上,而不是在iOS),而嘗試使用fetch()方法,而這個問題開始使用$阿賈克斯() MessengerExtensions.requestCloseBrowser之前啓動時( )是從fetch的承諾中調用的,現在它從ajax的成功函數中調用。

我不得不切換使用Ajax取,因爲它沒有在iOS

任何建議工作?

回答

1

一天之後,2071011的錯誤代碼再次出現,僅在桌面瀏覽器中出現。 我設法通過使用window.top.close();找到解決問題的辦法。當MessengerExtensions.requestCloseBrowser()失敗 它確實在Chrome同樣的伎倆,並要求用戶前,請關閉邊緣

0
window.extAsyncInit = function() { 
    MessengerExtensions.requestCloseBrowser(function success() { 
    window.close(); // webview closed 
    }, function error(err) {print ('an error occured');} 
    ); 

}; 

從上https://developers.facebook.com/docs/messenger-platform/webview/extensions文檔,

window.extAsyncInit()將會被調用當Messenger Extensions JS SDK完成加載。您可以將其用作觸發器,以調用SDK中可用的其他 函數。