1. 程式人生 > 實用技巧 >Chrome設定跨域訪問方式--disable-web-security不生效原因,以及出現--disable-web-security,但是實際上瀏覽器不能跨域訪問解決方案

Chrome設定跨域訪問方式--disable-web-security不生效原因,以及出現--disable-web-security,但是實際上瀏覽器不能跨域訪問解決方案

Chrome設定跨域訪問方式--disable-web-security不生效原因,以及出現--disable-web-security,但是實際上瀏覽器不能跨域訪問的原因:

1、設定跨域,在chrome快捷方式右鍵‘屬性’,‘快捷方式’,‘目標’ 路徑最後邊按一下空格,再新增以下程式碼:

--args --disable-web-security --user-data-dir=D:\MyChromeDevUserData

或者

--disable-web-security --user-data-dir=D:\MyChromeDevUserData

‘D:\MyChromeDevUserData’是我自己隨便找了個資料夾,可以自己隨便配置,不這麼寫的話,新版本瀏覽器可能出現設定不生效的問題。

這個方式等於是使用者在自己電腦建立了一套chrome的私有化瀏覽器,裡邊的設定配置等均為私有化設定。此時找到chrome安裝源目錄,開啟chrome.exe,會發現,在私有chrome配置的所有書籤,選項等,在這個chrome裡都沒有。

備註:如果要刪掉D:\MyChromeDevUserData,一定要先做書籤、賬號密碼等的備份。一經刪除,等於是把個人電腦裡的私有chrome解除安裝了,資料都不會保留

2、設定成功以後再開啟瀏覽器,會有提示:

“您使用的是不受支援的命令列標記: --disable-web-security,穩定性和安全性會有所下降”

此時,正常使用者都可以進行跨域訪問了,比方本地的前端專案,直連測試或者線上環境的介面(前提是目標環境在當前瀏覽器登陸過,已經存在當前賬號的cookies,session等資訊)

3、but,有的使用者還是不能訪問,此時在console控制檯裡會看到一段背景是黃顏色的字:

'...Specify SameSite=None and Secure if the cookie should be sent in cross-site...'

這是什麼意思呢,找百度翻譯結果:如果cookie應跨站點發送,請指定SameSite=None和Secure

此時瀏覽器還是限制了cookies的跨域訪問,所以部分人的電腦還是不能使用跨域,解決方案:

位址列輸入:

chrome://flags

再搜尋:SameSite by default cookies,找到‘SameSite by default cookies’以及‘Cookies without SameSite must be secure’,在後邊有個下拉框,這倆選項均選擇:‘disabled’,瀏覽器會提示紅字:‘警告:您所要使用的是實驗性功能!’

忽略警告,此時瀏覽器是我們本地建立的D:\MyChromeDevUserData,點選右下角的Relaunch按鈕,瀏覽器會自動重啟,並且保留所有當前已開頁面。

聯調時使用這個模式,如果訪問其它購物等網站,建議還是使用chrome.exe安裝源目錄的chrome.exe,避免出現不必要的麻煩