Allow Google Chrome to use XMLHttpRequest to load a URL from a local file
When trying to do a HTTP request using XMLHttpRequest from a local file, it basically fails due to Access-Control-Allow-Origin
violation.
However, I'm using the local web page myself, so I was wondering if there is any way to make Google Chrome allow these requests, which are from a local file to a URL on the Internet.
E.g., $.get('http://www.google.com/')
fails when executing in a local file, but I've scripted the page myself and I'm using it myself, so it would be extremely useful if I could suppress it and load the URL.
So, how can I allow Google Chrome to load URLs using XMLHttpRequest from local files?
Using --disable-web-security
switch is quite dangerous! Why disable security at all while you can just allow XMLHttpRequest to access files from other files using --allow-file-access-from-files
switch?
Before using these commands be sure to end all running instances of Chrome.
On Windows:
chrome.exe --allow-file-access-from-files
On Mac:
open /Applications/Google\ Chrome.app/ --args --allow-file-access-from-files
Discussions of this "feature" of Chrome:
- https://bugs.chromium.org/p/chromium/issues/detail?id=37586,
- https://bugs.chromium.org/p/chromium/issues/detail?id=47416,
- https://productforums.google.com/forum/#!topic/chrome/v177zA6LCKU
startup chrome with --disable-web-security
On Windows:
chrome.exe --disable-web-security
On Mac:
open /Applications/Google\ Chrome.app/ --args --disable-web-security
This will allow for cross-domain requests.
I'm not aware of if this also works for local files, but let us know !
And mention, this does exactly what you expect, it disables the web security, so be careful with it.
Mac version. From terminal run:
open /Applications/Google\ Chrome.app/ --args --allow-file-access-from-files
On Ubuntu:
chromium-browser --disable-web-security
For more details/switches:
http://peter.sh/experiments/chromium-command-line-switches/
Referenced from