2011-11-14 70 views
0

我有一個HTML/Javascript應用程序,使用jQuery與Web服務器進行通信(我不控制)。我從本地文件(file:///app.html)運行它,這在Safari上正常工作。然而,它在Firefox中失敗了,我看到我所有的XHR請求都變成了OPTION請求,這是服務器不喜歡的。顯然它違反了跨站點腳本規則。本地(file:///)頁面的跨站點腳本編寫限制是什麼?

關於本地頁面的XHR的規範是什麼,不同的瀏覽器如何處理它,以及開發這些僅適用於客戶端的混搭類型應用程序的首選方法是什麼?

回答

0

它是有道理的,它不起作用。其背後的想法是,您無法輕鬆地將您無法控制的網站功能嵌入到您控制的網站中。現在,基於文件的本地站點的使用非常有限,但您仍然可以將其用作將其他人的站點嵌入到本地Intranet中的黑客工具。

所以我認爲這是一個Safari允許的錯誤。另見:jQuery Ajax request from local filesystem (Windows file:///)

+0

我認爲你的動機不對。這不是爲了保護網站不被嵌入到其他地方,而是爲了保護正在瀏覽網站A的用戶免於訪問或損壞網站B上的該用戶的數據。 – Thilo

+0

我沒有指定通過嵌入此其他網站會對誰造成不利影響,但當然你是對的。這首先是爲了保護用戶。 – GolezTrol