我試圖做一個使用XMLHttpRequest的長輪詢。它在所有支持的瀏覽器上都能正常工作,但由於某些原因,iPhone上的safari會爲每個ajax調用獲取加載指示符,而對於長時間輪詢,這有點煩人。在長時間投票在iphone上Safari上加載指標
我讀過,你需要等到文檔被加載,但它不縫工作。任何其他已知的黑客解決它?
我試圖做一個使用XMLHttpRequest的長輪詢。它在所有支持的瀏覽器上都能正常工作,但由於某些原因,iPhone上的safari會爲每個ajax調用獲取加載指示符,而對於長時間輪詢,這有點煩人。在長時間投票在iphone上Safari上加載指標
我讀過,你需要等到文檔被加載,但它不縫工作。任何其他已知的黑客解決它?
我有同樣的問題,我嘗試使用簡單的XHRO,隱藏的iFrames等,它只是不適用於iPhone。它似乎沒有更新DOM或做任何事情,直到「整個」文件被加載,在我的例子中是長期民意測驗的持續時間。
我唯一沒試過的是JSONP。也許你可以試試JSONP。
請讓我們知道你是否能夠嘗試JSONP,如果它能夠工作或者有什麼工作的話!
更新:我不知道爲什麼這被標記爲答案,我不認爲這是答案,所以請讓我知道如何使它成爲評論而不是答案。
這是你的問題的答案:)但沒問題,我會盡快嘗試,並在這裏給你一個反饋,所以感謝您的輸入:) – 2012-08-15 18:27:27
我試過JSONP,但這似乎不適合我 - 我甚至沒有把它加載到:/ – 2012-08-18 15:05:00
@Florian「我甚至沒有把它加載到源」,所以你不能運行服務器返回的JS?你能發佈一些你的代碼的簡化版嗎?我知道長時間投票是一個很大的工作,尤其是在safari上工作..我真的很想知道Etherpad和/或谷歌聊天如何工作..我懷疑目前在iPhone上,他們仍然使用短輪詢定期AJAX調用..讓我知道兄弟.. – 2012-08-21 13:51:31
我不能使用這個,因爲我只允許在客戶端開發,所以我只能創建JavaScript,PHP和HTML結構。 – 2012-08-20 14:48:10
在這種情況下,您應該考慮使用jQuery的$ .ajax()函數完成作業而不是XMLHttpRequest。我相信它對多個瀏覽器有更好的兼容性。您使用$ .ajax()在safari中運行一個簡單的測試,然後再構建它。 – khaverim 2012-08-21 03:01:52
那麼我目前正在使用$ .ajax()... ^。^ – 2012-08-21 17:14:20
+1 - 即使您不是長時間輪詢,也很煩人。 – 2012-08-15 05:04:20
可悲的不是 - 我在查看具有服務器發送事件的頁面時也是一樣的。 – theiOSDude 2012-08-15 10:40:16
您是否嘗試使用網絡套接字,f.ex是否與socket.io類似? – David 2012-08-18 20:18:59