2013年6月3日

Chrome - 解決 Cross origin requests are only supported for HTTP

當我們做了一個簡易的 demo website 且不在 web server 運作情況下,使用 Chrome 瀏覽時卻會出現錯誤訊息 Cross origin requests are only supported for HTTP,這是因為瀏覽器的 Same origin policy 的安全限制,詳細部分可以參考 wiki 的解釋。



那該如何讓我們的 Demo 運作起來呢 ?
最正確的解決方式當然還是讓你的 demo website 在 web server 上運作,但我們也可以透過更改 Chrome 的設定暫時讓網站 ( 網頁 ) 正常運作起來,在 Windows 下只需要在 Chrome 的執行捷徑右鍵內容目標 ,只要再目標該欄加上參數 --allow-file-access-from-files ,參考如下圖:


注意,設定完之後需要將 Chrome 整個關閉重新開啟後設定就生效了,另一個方式也可以透過指令打開 Chrome 並添加參數,範例如下:
# Win7: 把右鍵 > 內容 > 目標裡面的那段執行檔的路徑複製
> C:\Users...\Application\chrome.exe --allow-file-access-from-files

# Mac OS X: 於終端機(Terminal)啟動 Chrome 並加入參數
> open [路徑]/Google\ Chrome.app --args --allow-file-access-from-files
另外其他的 Chrome 參數列表,可以參考這裡


熱門文章