前段時間在開發項目的時候,遇到一個比較稀奇古怪的跨域問題,無論怎麼寫就是解決不了,後來經過Chrome瀏覽器的設置,解決了跨域問題,這樣就不須要在項目裏經過設置代理來解決跨域問題,直接經過設置修改Chrome瀏覽器的設置就能夠解決項目跨域問題。具體的跨域問題以下所示:前端
Access to XMLHttpRequest at 'https://weixin.xxx.com/ems/login' (redirected from 'http://localhost:8081/xxx/queryBalance') from origin 'http://localhost:8081' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
本篇博文就來分享一下上述狀況的操做步驟,這裏是基於Mac環境下來說解的,其餘電腦操做系統(如Windows操做系統)的設置方法這裏再也不過多介紹,若有其餘電腦操做系統的設置方法請找度娘。web
在經過Chrome瀏覽器設置跨域配置以前,首先要在Mac電腦的終端裏面輸入如下命令行。
一、打開Mac電腦終端,輸入如下命令行:chrome
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/你的Mac用戶名/MyChromeDevUserData/ 回車,便可。
首次打開Chrome瀏覽器會有黃色背景色的「您使用的是不受支持的命令行標記:--disable-web-security。穩定性和安全性會有所降低。」的提示,那就說明瀏覽器設置跨域成功,若再次重複執行上述命令行時,不會再有相關提示了,可是仍是能夠跨域。經過命令行設置完Chrome以後,須要進行其餘選項設置,直接打開Mac電腦的谷歌瀏覽器進行操做便可,具體操做步驟以下所示:
二、打開Chrome瀏覽器以後,在瀏覽器地址欄裏面輸入chrome://flags 而後回車鍵,打開;
三、直接在瀏覽器搜索欄裏面輸入如下內容:跨域
SameSite by default cookies 而後回車,搜索結果顯示如下兩項選項,而後直接禁用兩項設置,即把狀態改成Disabled,而後點擊右下角的relaunch重啓瀏覽器便可,以下圖所示:
四、通常狀況下上述操做便可經過瀏覽器解決跨域問題,可是特殊狀況上述步驟依然不能設置跨域問題,那就繼續在瀏覽器搜索框輸入如下內容:瀏覽器
Schemeful Same-Site 回車,同理把該選項禁用,狀態設置爲Disabled,而後重啓瀏覽器,便可。
通過上述步驟,就完美實現經過Chrome瀏覽器設置解決跨域問題,這種方法也爲前端開發過程當中遇到的跨域問題提供一種很是有效的解決方式,方便又好用。安全
以上就是本章所有內容,歡迎關注三掌櫃的微信公衆號「程序猿by三掌櫃」,三掌櫃的新浪微博「三掌櫃666」,歡迎關注!微信