使用 Websocket 控制浏览器窗口
Use Websockets to control a browser window
*nix 中的某些 CLI 应用程序使用 $BROWSER 环境变量,以便它可以调用$BROWSER http://www.unix.com
我只是在寻找一个可执行文件设置为$BROWSER
,它实际上通过 Websockets 控制远程任意 HTML5 浏览器窗口。
编写可执行文件很容易 - 我所要做的就是通过websockets连接并发送一些消息。
问题:但是浏览器端呢?是否有一个JS库可以让我通过Websockets控制浏览器(至少设置其window.location
)?
你可以
使用sock.js与服务器通信,它支持许多服务器技术:https://github.com/sockjs/sockjs-client
然后我建议你不要使用 window.location,因为它会刷新页面,这会破坏 websockets 的观点。
您可以使用类似 angularjs 的东西在触发更改事件时更新视图。
索引.html
<div ng-view></div>
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js">
<script src="js/App.js"></script>
孩子.js
angular.module('App', [])
.controller('AppCtrl', function ($scope) {
var sock = new SockJS('http://localhost:9999/chat');
$scope.messages = [];
$scope.sendMessage = function () {
sock.send($scope.messageText);
$scope.messageText = "";
};
sock.onmessage = function (e) {
$scope.messages.push(e.data);
$scope.$apply();
};
});
我创建了一个使用 sockjs 的 nodejs 服务器示例,以使用 angularjs 更新视图:https://github.com/kmturley/angular-websockets
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- 如何使用特定大小的浏览器窗口打开我的页面
- Flash AS3关闭浏览器窗口
- 如何打开/移动主屏幕左侧的浏览器窗口
- 使用 javascript 打开新的浏览器窗口时出错
- 如何在浏览器窗口变大/变小时捕捉元素的宽度
- 更改当前选项卡或浏览器窗口的标题
- 如何在windowsphone 7浏览器中通过javascript打开新窗口或选项卡
- 如何在同一浏览器屏幕中创建多个窗口
- 如何相对于浏览器窗口定位DIV
- 浏览器窗口中的应用内FB页面插件链接
- 在浏览器窗口中创建动态灵活的分割标记
- 窗口浏览器外的计数器停止
- 如何使元素的宽度和高度为页面(文档)的100%,而不仅仅是窗口(浏览器)
- 如何在调整窗口浏览器大小时使用jquery或javascript加载javascript文件
- 弹出窗口浏览器仍然是Windows主页的一部分
- 如何检查用户是否关闭了窗口/浏览器/关闭了计算机
- GWT:添加窗口小部件到新的窗口浏览器
- 弹出窗口-浏览器差异