TL;DR: OpenSeadragon でクロスドメイン AJAX リクエストを行うにはどうすればよいですか?
OpenSeadragon を使用して Web サイトの画像を表示しています。次のように、テスト URL を使用して Seadragon ビューアを使用しています。
<script src="../../Scripts/openseadragon/openseadragon.js"></script>
<script>
var viewer = OpenSeadragon({
id: "openseadragon1",
prefixUrl: "../../Scripts/openseadragon/images/",
tileSources: "https://familysearch.org/dz/v1/TH-1971-27860-10353-27/image.xml?ctx=CrxCtxPublicAccess&session" // requires a DZI tile source
});
</script>
<div id="container2" style="float:left;">
<div id ="openseadragon1" style="width:500px;height:500px;border:1px solid black;float:left;"></div>
</div>
だから私は自分のビューアが機能していることを知っています。私の問題は、必要な特定の画像が「Access-Control-Allow-Origin」ヘッダーを持たないサイトでホストされているため、Ajax リクエストがブロックされていることです。たとえば、次の URL を使用する場合:
http://66.img.americanancestors.org/e41de95d-6235-4581-b823-4887b50eb8ad.xml
(ブラウザでアクセスでき、入力するとxmlファイルがダウンロードされます)、「No Access-Control-Origin-Header」エラーが表示され、ビューアに次のエラーが表示されます。
クロス ドメイン リクエストについては知っていますが、OpenSeadragon は初めてなので、OpenSeadragon 関数でクロス ドメイン リクエストを作成する方法がわかりません。OpenSeadragon に CreateAJAXRequest() 関数があることは知っていますが、その実装方法がよくわかりません。それで問題が解決するかどうかもわかりません。