Play 2.1にWebSocketプログラムがあります。これは問題なく動作し、テンプレートは次のようになります。
// Contents of the view.scala.html file
@(userName: String)(implicit request: RequestHeader)
@main("text") {
<script type="text/javascript" charset="utf-8">
$(function() {
var WS = window['MozWebSocket'] ? MozWebSocket : WebSocket;
alert("before")
var socket = new WS("@routes.Application.view(userName).webSocketURL()");
alert("after")
socket.onmessage = function(event) {
alert(event.data);
};
});
</script>
}
問題は、JavaScriptをassets.javascripts
フォルダーに移動し、view.scala.html
ファイルを次のように変更するとすぐに機能しなくなることです。
// Contents of the view.scala.html file
@(userName: String)(implicit request: RequestHeader)
@main("text") {
<script type="text/javascript" charset="utf-8"
src="@routes.Assets.at("javascripts/viewer.min.js")"></script>
}
Playはファイルを見つけ、javascriptを実行します。コード行によってトリガーされたポップアップを見ることができますalert("before")
が、その後は...何もありません。
これは私がコンソールで得るグーグルクロームエラーです:
Wrong url scheme for WebSocket
http://localhost:9000/@routes.Application.view(userName).webSocketURL()
私は何が欠けていますか?