lib/template/js/main.js in browser_app_base-0.0.4 vs lib/template/js/main.js in browser_app_base-0.0.5

- old
+ new

@@ -1,8 +1,9 @@ // main.js var $ws = null; +var $auto_scroll = true; function server_connect(url) { var ws = new WebSocket(url); ws.onopen = function () { // Web Socket is connected. You can send data by send() method. @@ -12,18 +13,16 @@ //alert(evt.data); if (evt.data.match(/^startup:/)) { file_name = evt.data.replace(/^startup:/, ""); //alert(file_name); } else { - var log = $('#log').val() + evt.data + "\n"; - $('#log').val(log); - var psconsole = $('#log'); - psconsole.scrollTop( - psconsole[0].scrollHeight - psconsole.height() - ); + var log = "<li>" + evt.data + "</li>"; + $('#log').append(log); + if ($auto_scroll) { + $('.outarea').scrollTop($('.outarea').get(0).scrollHeight); + } } - }; ws.onclose = function () { alert("アプリケーションが終了しました!!"); $(window).unbind("beforeunload"); //window.open('about:blank','_self').close(); @@ -49,11 +48,11 @@ //jQuery(this).autocomplete("search", ""); $(this).keydown(); }, source: function (req, resp) { $.ajax({ - url: "http://localhost:64141/search?path=" + $("#" + id).val() + "&kind=" + file_kind, + url: "http://localhost:52538/search?path=" + $("#" + id).val() + "&kind=" + file_kind, type: "GET", cache: false, dataType: "json", data: { param1: req.term @@ -220,26 +219,41 @@ } // 起動時の処理 $(document).ready(function () { // サーバに接続 - server_connect("ws://localhost:64141/wsserver") + server_connect("ws://localhost:52538/wsserver") // ウインドウサイズ var width = 800; var height = 600; // ウインドウの位置 $(function () { window.resizeTo(width, height); window.moveTo((window.screen.width / 2) - (width / 2), (screen.height / 2) - (height / 2)); //window.moveTo(0,0); }); + $('.outarea').scroll(function () { + var h = $('.outarea').get(0).scrollHeight - $('.outarea').innerHeight(); + console.log("scrollEnd=" + Math.abs($('.outarea').scrollTop() - h)); + if (Math.abs($('.outarea').scrollTop() - h) < 5) { + // 最後までスクロールしている + // 自動スクロールON + $auto_scroll = true; + } else { + // 自動スクロールOFF + $auto_scroll = false; + } + //console.log("auto_scroll=" + $auto_scroll); + }); + // ハンドラ登録 $("#stop").click(function () { send_message("stop"); }); $("#exec").click(function () { + $('#log').empty(); send_message("exec:" + $("#upFile").val()); }); select_file_dialog("search_str", "file", "dialog1", "select_file", "upFile");