我正在一個網站中運行iframe中的「360全景查看器」,其中源頁面使用JavaScript和window.DeviceOrientationEvent
來確定用戶是否在移動設備上定位功能。我看到在iOS上的Safari瀏覽器&一些奇怪的行爲:'deviceorientation'在iFrame中引用時不會在iOS瀏覽器中觸發
window.DeviceOrientationEvent
計算結果爲真實的,但永遠不會觸發deviceorientation
事件。
Android Chrome並非如此 - 當在iFrame中使用時,會不斷觸發事件。
當直接訪問頁面(在iOS上)時,我看到事件觸發。就好像在iframe中使用它以某種方式「阻止」該事件。
對我來說沒什麼意義,研究它幾乎沒有什麼信息,除了一些模糊的指示[1,2],它可能實際上與CORS有關 - 無論iframe源是否位於同一個根域作爲父頁面。這對我來說更沒意義..
任何人都有線索?
iFrame是否與父頁位於同一根域? – beyowulf
不,這就是問題所在。 iframe內容駐留在主存儲區的靜態資產的S3存儲桶中 –