Chrome設置跨域訪問方式--disable-web-security不生效原因,以及出現--disable-web-security,但是實際上瀏覽器不能跨域訪問的原因:
1、設置跨域,在chrome快捷方式右鍵‘屬性’,‘快捷方式’,‘目標’ 路徑最后邊按一下空格,再添加以下代碼:
或者
‘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的跨域訪問,所以部分人的電腦還是不能使用跨域,解決方案:
地址欄輸入:
再搜索:SameSite by default cookies,找到‘SameSite by default cookies’以及‘Cookies without SameSite must be secure’,在后邊有個下拉框,這倆選項均選擇:‘disabled’,瀏覽器會提示紅字:‘警告:您所要使用的是實驗性功能!’
忽略警告,此時瀏覽器是我們本地創建的D:\MyChromeDevUserData,點擊右下角的Relaunch按鈕,瀏覽器會自動重啟,並且保留所有當前已開頁面。
聯調時使用這個模式,如果訪問其它購物等網站,建議還是使用chrome.exe安裝源目錄的chrome.exe,避免出現不必要的麻煩