My puppyのブログ

学んだ事や作っているプログラムなどについて書いています。

Access-Control-Allow-Origin

「Example: Downloading files using XHR2」
http://www.html5rocks.com/en/tutorials/file/filesystem-sync/#toc-download-xhr2

先ほど上のページのサンプルコードを見てJavaScriptを使ってTEDから画像のダウンロードを試みたんだけど、問題が発生。

Google ChromeのDeveloper ToolsでConsoleを開くと以下のエラーが発生していました。

XMLHttpRequest cannot load http://images.ted.com/images/ted/XXXX.jpg. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://XXXX' is therefore not allowed access.

そこで「Access-Control-Allow-Origin」で検索すると、以下のページがヒット。

「No 'Access-Control-Allow-Origin' header is present on the requested resource  - Stack Overflow」
http://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource

このページに貼ってあるリンクから、こちらへジャンプ。

「Cross-Origin XMLHttpReques」
https://developer.chrome.com/extensions/xhr

Google Chrome拡張機能として実装すれば、パーミッションを設定することによってTEDから画像をダウンロードできるらしいです。

パーミッションの設定は拡張機能だけでなくChrome Appsでも同様にできるので、「Webアプリケーションを作成する」という目的を元に戻して「Chrome Appsを作成する」に変更するかもしれません。

どうしよっかな…。