Qt WebChannel Standalone Example▲
Sélectionnez
&
lt;!
DOCTYPE html&
gt;
&
lt;html&
gt;
&
lt;head&
gt;
&
lt;meta http-
equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/&
gt;
&
lt;script type=
"text/javascript"
src=
"./qwebchannel.js"
&
gt;&
lt;/
script&
gt;
&
lt;script type=
"text/javascript"
&
gt;
//BEGIN SETUP
function output(message) {
var output =
document.getElementById("output"
);
output.innerHTML =
output.innerHTML +
message +
"
\n
"
;
}
window.onload =
function() {
if
(location.search !=
""
)
var baseUrl =
(/
[?&
amp;]webChannelBaseUrl=
([A-
Za-
z0-
9
\-
:/
\.]+
)/
.exec(location.search)[1
]);
else
var baseUrl =
"ws://localhost:12345"
;
output("Connecting to WebSocket server at "
+
baseUrl +
"."
);
var socket =
new
WebSocket(baseUrl);
socket.onclose =
function() {
console.error("web channel closed"
);
}
;
socket.onerror =
function(error) {
console.error("web channel error: "
+
error);
}
;
socket.onopen =
function() {
output("WebSocket connected, setting up QWebChannel."
);
new
QWebChannel(socket, function(channel) {
// make core object accessible globally
window.core =
channel.objects.core;
document.getElementById("send"
).onclick =
function() {
var input =
document.getElementById("input"
);
var text =
input.value;
if
(!
text) {
return
;
}
output("Sent message: "
+
text);
input.value =
""
;
core.receiveText(text);
}
core.sendText.connect(function(message) {
output("Received message: "
+
message);
}
);
core.receiveText("Client connected, ready to send/receive messages!"
);
output("Connected to WebChannel, ready to send/receive messages!"
);
}
);
}
}
//END SETUP
&
lt;/
script&
gt;
&
lt;style type=
"text/css"
&
gt;
html {
height
:
100
%
;
width
:
100
%
;
}
#input {
width
:
400
px;
margin
:
0
10
px 0
0
;
}
#send {
width
:
90
px;
margin
:
0
;
}
#output {
width
:
500
px;
height
:
300
px;
}
&
lt;/
style&
gt;
&
lt;/
head&
gt;
&
lt;body&
gt;
&
lt;textarea id=
"output"
&
gt;&
lt;/
textarea&
gt;&
lt;br /&
gt;
&
lt;input id=
"input"
/&
gt;&
lt;input type=
"submit"
id=
"send"
value=
"Send"
onclick=
"javascript:click();"
/&
gt;
&
lt;/
body&
gt;
&
lt;/
html&
gt;