2016-05-16 52 views
1

我正在一個網站中運行iframe中的「360全景查看器」,其中源頁面使用JavaScript和window.DeviceOrientationEvent來確定用戶是否在移動設備上定位功能。我看到在iOS上的Safari瀏覽器&一些奇怪的行爲:'deviceorientation'在iFrame中引用時不會在iOS瀏覽器中觸發

window.DeviceOrientationEvent計算結果爲真實的,但永遠不會觸發deviceorientation事件。

Android Chrome並非如此 - 當在iFrame中使用時,會不斷觸發事件。

當直接訪問頁面(在iOS上)時,我看到事件觸發。就好像在iframe中使用它以某種方式「阻止」該事件。

對我來說沒什麼意義,研究它幾乎沒有什麼信息,除了一些模糊的指示[1,2],它可能實際上與CORS有關 - 無論iframe源是否位於同一個根域作爲父頁面。這對我來說更沒意義..

任何人都有線索?

1 2

+0

iFrame是否與父頁位於同一根域? – beyowulf

+1

不,這就是問題所在。 iframe內容駐留在主存儲區的靜態資產的S3存儲桶中 –

回答

1

對於任何人都好奇,我驗證問題是CORS相關。它必須是蘋果公司的一項安全措施 - 阻止頁面上的事件在iframe

我的臨時解決方案是將文件託管在同一臺服務器上,但它不是可擴展的解決方案,所以我想我必須設置一些一些代理來處理這個問題。

相關問題