Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
44
Help us understand the problem. What is going on with this article?
@mottox2

開発時にCORSを無視するGoogleChromeの起動オプション

More than 3 years have passed since last update.

まとめ

Chromuimベースのブラウザで起動オプションをつけることで、CORSを無視して動作させることが出来る。

open http://localhost:8000/ -a "/Applications/Google Chrome.app" --args --disable-web-security --user-data-dir

開発時に困るCORS(Cross-Origin Resource Sharing)

他のドメインにリクエストする際に以下の様なエラーを見たことありませんか?

XMLHttpRequest cannot load https://api.example.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access.

これはCORS(Cross-Origin Resource Sharing)といって、他のサーバーにXMLHttpRequestをした際のリソースを読み取ることが出来ない仕様です。
セキュリティのための仕様ですが、開発時には鬱陶しくなることがあります。

サーバーのレスポンスで以下のようなヘッダーを返すと、読み込むことが出来ます。

Access-Control-Allow-Origin: "http://example.com"

しかし、サーバーが弄れない状況だったらどうでしょう。
年末年始でサーバーの方が弄れなくなってしまった…みたいな状況に心当たりありませんか?

起動オプションで無効にできる

実はGoogle Chromeは複数の起動オプションをつけることでブラウザの挙動を変えることが出来ます。

open http://localhost:8000/ -a "/Applications/Google Chrome.app" --args --disable-web-security --user-data-dir

Chromiumの方の機能なので、Chromiumを使っているブラウザだったらすべてこの方法で大丈夫そう。
自分は普段使いのブラウザがChromeなのでVivaldiをCORS無視にして開発しています。

44
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
mottox2
フロントエンドを中心にWebサービス・アプリを作ってるフリーランスエンジニア。UIデザインと編曲もやってます。
admin-guild
「Webサービスの運営に必要なあらゆる知見」を共有できる場として作られた、運営者のためのコミュニティです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
44
Help us understand the problem. What is going on with this article?