* nix中的某些CLI应用使用$ BROWSER环境变量,因此可以调用$BROWSER http://www.unix.com
我只是在寻找一个可设置为$BROWSER
的可执行文件,它实际上通过Websockets控制远程任意HTML5浏览器窗口。
编写可执行文件很简单 - 我所要做的就是通过websockets连接并发送一些消息。
问题:
但是浏览器方面呢?是否有一个JS库可以让我通过Websockets控制浏览器(至少设置它的window.location
)?
答案 0 :(得分:0)
您可以使用sock.js与服务器通信,它支持许多服务器技术: https://github.com/sockjs/sockjs-client
然后我建议你不要使用window.location,因为它会刷新页面,这会破坏websockets的点。
当触发更改事件时,您可以使用angularjs之类的内容来更新视图。
的index.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>
Child.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来使用angularjs更新视图的nodejs服务器的示例: https://github.com/kmturley/angular-websockets