cho45 / jsdeferred

Asynchronous library in JavaScript. Standalone and Compact.
http://cho45.stfuawsc.com/jsdeferred/
332 stars 48 forks source link

IEでSSL通信時に警告が出ることがある #1

Closed hiratara closed 15 years ago

hiratara commented 15 years ago

IE8において(恐らくIE6も)、httpsのページでJSDeferredを使った場合に、Deferred.nextを連続で呼ぶと、「セキュリティで保護された Web ページ コンテンツのみを表示しますか」が発生します。

再現するコード例(このHTMLをhttpsでアクセス): http://gist.github.com/205896

原因は、Deferred.next_faster_way_readystatechange で作っている<script>タグだと思います。

src="javascript:" ではなく、 src="" として<script>タグを生成するとこの警告は止まりましたが、DOMの扱いとして正しいかちょっと自信がないです。

cho45 commented 15 years ago

おー、ありがとうございます。なるほど把握しました。src="" してしまうとページを script として解釈してしまう可能性がありそうですね……

HTTPS は安全とひきかえにいくらかレスポンスを落とすことになることを考えれば、そもそも faster_way を無効にするのがいいかもしれないですね……

hiratara commented 15 years ago

アドバイスありがとうございます!

なるほど、わかりました。https下 では、 Deferred.next_default を使うようにします。

これで実用には困りませんので、cho45さん的に問題なさそうと判断されましたらクローズして頂いて大丈夫です。

cho45 commented 15 years ago

https では使わないようにする修正をしました http://github.com/cho45/jsdeferred/commit/acc019db5c5022d2b17956fa4e95b4ab91e6d0b1

hiratara commented 15 years ago

ありがとうございます、すばらしい。

今日は退社してしまって試せる環境がないので、月曜日に試して見ます。

hiratara commented 15 years ago

現象が起こっていた環境にて、解決されていることを確認しました。ありがとうございました。