Mac上解決Chrome瀏覽器跨域問題


最近做前端開發總是遇到一個很奇怪的現象,同一個AJAX請求,在Chrome里調試的時候就會提示跨域,但是在手機模擬器或者真機上調試的時候就不會,於是百度了一下,發現是Chrome的安全策略導致的,需要在后台設置一下

在網上找了半天,發現很多大家通用的方法在我這兒都不行,今天終於找到一個可行,在這里分享給大家

首先要說的是,我的版本是59的,也就是說是49以后的版本,所以49以后版本的朋友可以用我的這個方法,如果還是之前的老版本,網上其他的通用方法應該就是OK的

 
為了便於開發,我們需要從本地環境發請求到dev環境拿數據,但由於瀏覽器 同源策略的限制,會出現跨站請求報錯。慶幸的是,chrome提供了開啟允許跨站請求的方法
 
Google Chrome 版本號

首先給大家看看我的跨域報錯信息,可能每個人的報錯信息都不一樣,總之確實是AJAX請求跨域導致的

 

 

 
AJAX請求跨域

我們要做的第一步,就是創建一個文件夾,這個文件夾是用來保存關閉安全策略后的用戶信息的,名字可以隨意取,位置也可以隨意放

 
創建一個文件夾

然后打開控制台,輸入下面這段代碼

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/LeoLee/Documents/MyChromeDevUserData 

 
關閉安全策略代碼

大家需要根據自己存放剛剛創建的文件夾的地址來更改上面的代碼,也就是下面圖中的紅框區域,而網上大多數的教程中也正是缺少了這部分的代碼導致很多用戶在關閉安全策略時失敗

 
用戶需要根據自己的文件夾地址修改代碼

輸入代碼,敲下回車,接下來Chrome應該會彈出一個窗口

 
Chrome彈窗

點擊啟動Google Chrome,會發現與之前的Chrome相比,此時的Chrome多了上方的一段提示,告訴你現在使用的模式並不安全

 
瀏覽器上方會多出一行提示

接下來可以將之前需要調試的程序頁面復制粘貼到新打開的瀏覽器中,可以看到AJAX跨域的問題已經解決了,數據能夠獲取到了

 
AJAX跨域解決

 

注意:

1.Mac重啟之后,非安全模式就會自動關閉了,下次要打開應該是重復以上步驟,如果沒有重啟Mac,那么之后你所有新打開的瀏覽器都是非安全模式的

2.重新開啟安全策略的方法很簡單就是把命令里面的disable改成enable就ok了(windows下還可以刪掉追加的命令)

作者:LeoLeeYEAH
鏈接:https://www.jianshu.com/p/2db73311fcbe


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM