2017-04-24 45 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中可用的其他 函数。