我面臨的情況是,如果重新加載接收到呼叫的瀏覽器窗口,則實況Twilio呼叫將被丟棄。有沒有辦法在不影響直播電話的情況下克服這種挫折?在新的彈出式窗口中進行Twilio調用
回答
根據你的問題,我假設你使用的是Twilio Client JavaScript SDK?如果確實如此,那麼不幸的是,如果託管SDK的頁面重新加載,瀏覽器和Twilio之間的連接將會丟失,因爲瀏覽器正在重新加載所有內容,包括JavaScript SDK。
有幾種不同的技術,我可以從頭頂上想到可以幫助避免頁面重新加載的另一種方法,另一種方法可以幫助您在瀏覽器連接斷開的情況下恢復呼叫,因爲的頁面重新加載。這很大程度上取決於您的特定應用程序以及您試圖爲用戶創建的體驗。
因此,爲了幫助避免重新加載頁面:
1)使用AJAX請求到服務器,以避免重新加載頁面。如果您的頁面包含表單等內容,或者您希望使用服務器中的數據更新頁面內容,則可以使用對服務器的AJAX請求,而不是正常的完整頁面回發來提交表單或檢索數據表單服務器。這將有助於避免在這兩種情況下重新加載整個頁面。
2)使用iFrame託管您的頁面內容,然後將Twilio SDK放入父頁面(定義iFrame的頁面)。這可以讓您重新加載託管在iframe中的內容,而無需重新加載整個主機頁面,避免重新加載Twilio庫。其缺點是,iframe中的內容與其主機之間的通信可能會非常快速地混亂。
這兩種技術都不是傻瓜。很明顯,用戶總是可以在瀏覽器上點擊刷新按鈕,這會導致連接丟失。
在頁面確實重新加載並且從Twilio到瀏覽器的連接丟失的情況下,一個想法是利用Twilios功能來幫助將呼叫者重新連接在一起。當用戶撥打您的twilio電話號碼,而不是直接連接到在瀏覽器中運行的Twilio客戶端(通過撥打a),而是將該來電者撥入,然後讓瀏覽器客戶端連接到該客戶端。這樣做的好處是,如果瀏覽器斷開連接,原始呼叫者不會掛斷,他們仍將坐在會議室中。只要您保存了會議SID或名稱,就可以讓瀏覽器客戶端重新連接到該會議。
希望能幫助你指出正確的方向。
德文
披露:Twilio員工
- 1. 在新彈出的窗口
- 2. 從彈出窗口調用主窗口
- 3. 在C中調用JavaScript彈出窗口#
- 4. 在彈出窗口中重新進行Facebook身份驗證
- 5. JQuery調用彈出窗口
- 6. 適用於YouTube彈出窗口彈出窗口的樣式
- 7. 使用彈出新窗口
- 8. 退出彈出式窗口與彈出式窗口
- 9. 打開新的(彈出)窗口回答Twilio致電
- 10. 彈出式彈性窗口
- 11. 刷新在彈出的窗口中
- 12. 彈出窗口阻止調試模式
- 13. 如何打開彈出式窗口中的彈出式窗口的插件
- 14. 如何在回調中彈出窗口
- 15. 從彈出窗口刷新主窗口
- 16. 使用appMobi彈出式窗口進行Firebase簡單登錄
- 17. 在ASP.NET的彈出窗口中打開一個彈出窗口
- 18. Ajax回調彈出窗口
- 19. 在彈出窗口中重新加載主窗口的變量
- 20. Android彈出窗口在彈出窗口外彈出時解僱
- 21. jquery - Fancybox - 彈出式窗口不「彈出」
- 22. Silverlight彈出窗口:如何在打開彈出窗口後調用方法?
- 23. Flex:重新調整瀏覽器窗口彈出窗口大小
- 24. Rails Javascript彈出新窗口
- 25. c# - 彈出新窗口
- 26. 彈出窗口:當彈出彈出窗口時關閉彈出
- 27. 回調JavaScript中的彈出窗口
- 28. 格式化Kivy彈出窗口以消除彈出窗口
- 29. 硒彈出式窗口彈出窗口問題
- 30. 使用Javascript - 彈出新的父窗口
感謝德文(和Twilio)... – Subramaniam 2013-04-05 19:09:49