http://127.0.0.1:8081/foo.html のように ? がないときや http://127.0.0.1:8081/foo.html?bar のように ? 以降があるときは、このエラーは発生せず、期待どおり動作します。
注意さえすれば実用上は不都合ないと思いますが、気になったので原因を調べてみたところ、Jaxer が HTML ページをレンダリングするとき、自動的に追加する JavaScript コードに誤りがありました。
本来なら Jaxer.Callback.pageName の値には、このページの識別子が指定されるはずなのですが、? で終わるときのみ空欄になってしまいます。これはバグですね。
Jaxer.Callback.pageSignature = 610035010;
Jaxer.Callback.pageName = '';
Jaxer.CALLBACK_URI = '/jaxer-server/callback';
Jaxer.ALERT_CALLBACK_ERRORS = true;
具体的な事象が分かったので、Aptana に報告せねばと調べたところ、URL with question mark at the end fails Jaxer という Issue があり、解決済みとなっていました。貢献できると思ったのにちょっと残念。
ここで扱った Aptana Jaxer のバージョンは 0.9.7.2472 です。ですので、先日公開された 1.0.0 RC B では改善されているということですね(未確認です)。
1 件のコメント:
やはりバグでしたか・・・。私もローカルで確認してまして末尾を?マークにするとJaxer.application.keyとJaxer.page.keyの値も期待した値になりません。
■期待
Jaxer.application.key : 127.0.0.1:8000
Jaxer.page.key : 127.0.0.1:8000
■結果
Jaxer.application.key : (空)
Jaxer.page.key : (空)
コメントを投稿