私のウェブサイトは 1 つのドメイン/サーバー: www.mysite.com にあり、別のサーバー: www.my-other-server.com:8000 で ShareJS を実行しています。
www.mysite.com/index.html
<script src="http://www.my-other-server.com:8000/bcsocket.js"></script>
<script src="http://www.my-other-server.com:8000/share.js"></script>
<script src="http://www.my-other-server.com:8000/textarea.js"></script>
...
<textarea id='sharetext' ></textarea>
<script>
// get the textarea element
var elem = document.getElementById("sharetext");
// connect to the server
var options = {
origin: "www.my-other-server.com:8000",
browserChannel:{cors:"*"}
}
var connection = sharejs.open('test', 'text', options, function(error, doc) {
doc.attach_textarea(elem);
});
</script>
JS コンソールに次のエラーが表示されます。
XMLHttpRequest cannot load http://www.my-other-server.com:8000/test?VER=8&MODE=init&zx=v44znr3caqea&t=1. Origin http://www.mysite.com is not allowed by Access-Control-Allow-Origin.
このShareJS GitHubの問題(https://github.com/share/ShareJS/issues/77)は、上記のようにオプションに追加browserChannel:{cors:"*"}
することを提案していshare
ますが、効果がないように見えました...
ここで何をすればいいですか?私の sharejs トラフィックが静的/動的 Web サーバーとは別のサーバー上にあることが重要です。