2015-01-09 81 views
5

以下操作不會在Chrome瀏覽器39.0.2171.50上爲iOS 8.1.2(12B440), 打開彈出式窗口/新標籤頁/做任何事情,但它似乎在Safari上工作同樣的設備:

<button ng-click="$auth.$authWithOAuthPopup('facebook')">Login with Facebook</button> 

見plnkr:http://plnkr.co/edit/Ejd7fsyTHf6Ohn0F25Wy?p=preview

這是與Chrome或火力地堡/ AngularFire一個bug,或我錯誤地做什麼?

我從here看到,這可能是一個Chrome問題,但我不能讓$authWithOAuthRedirect()工作;見:http://plnkr.co/edit/9dd0W8X5k33LFBcCLmzs?p=preview

兩個彈出和重定向桌面版Chrome 39.0.2171.95

+1

我曾與在優勝美地的Safari同樣的問題。使用$ authWithOAuthRedirect結束。 – webduvet 2015-01-10 07:29:57

回答

4

火力地堡工作不支持彈出式窗口的所有平臺。如果檢測到不支持的平臺,authWithOAuthPopup()方法將返回代碼爲TRANSPORT_UNAVAILABLE的錯誤,表示您應該嘗試使用不同的傳輸方式進行身份驗證,例如瀏覽器重定向。

+0

夠公平的。那是在文檔的某個地方嗎?你知道具體是什麼導致這在某些瀏覽器中失敗嗎? – 2015-01-12 23:45:30

+1

@MurraySmith不幸的是,它沒有很好的記錄,但出現在Firebase文檔的一些地方,例如[錯誤列表](https://www.firebase.com/docs/web/guide/user-auth。 HTML)。 – 2015-01-13 00:35:44

+3

不幸的是,一些瀏覽器不支持此傳輸的必要功能。 PhoneGap/Cordova/Ionic需要一個墊片(InAppBrowser插件)才能使用'window.open'。 Chrome在iOS中同樣被禁用,因爲它歷來沒有可靠的'window.open(...)'和安全的跨幀postMessage。同樣,重定向不適用於PhoneGap/Cordova應用程序,因爲沒有機制將瀏覽器從外部公共互聯網URL重定向回到裝載PhoneGap應用程序的本地文件系統。 – 2015-01-13 00:39:38

2

蔭不知道IOS的,但如果你使用Android裝置和離子和火力點以來,運行以下命令來解決該問題:

ionic plugin add cordova-plugin-inappbrowser 
相關問題