我有一个网页,带有流媒体网络摄像头。相机使用相机内部网络服务器上的脚本进行平移和倾斜。我无法修改脚本,它的输出是一个网页,上面写着" OK"。
当用户访问我的页面时,我希望他们能够使用箭头键来平移相机,但是没有发出请求的脚本,请保留带有相机流的页面。此源,将平移相机,但您必须单击返回,才能到达流。这是我的来源:
<head>
<?php
$url = "http://Camera-server-IP/decoder_control.cgi?user=admin&pwd=password&command=2";
?>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).keypress(function (e){
if(e.keyCode == 37) // left arrow
{
window.location.href = <?php echo "\"" . $url . "\""; ?>;
}
else if(e.keyCode == 38) // up arrow
{
$(window.location.href = "http://Camera-server-IP/decoder_control.cgi?user=admin&pwd=password&command=6");
}
else if(e.keyCode == 39) // right arrow
{
window.location.href = "http://Camera-server-IP/decoder_control.cgi?user=admin&pwd=password&command=4";
}
else if(e.keyCode == 40) // Down arrow
{
window.location.href = "http://Camera-server-IP/decoder_control.cgi?user=admin&pwd=password&command=0";
}
});
</script>
<title>Navigation</title>
</head>
<body>
<br><h2>use arrows to navigate.</h2>
<iframe src="http://Camera-server-IP/videostream.cgi?user=user&pwd=Password" width="330" height="260"></iframe>
</body>
</html>
Camera-server-IP是实际的Camera Webserver地址。 为什么每个导航箭头都有所不同?因为我想弄清楚这一点。
如何使用箭头键将url请求发送到相机,但同时保留在相机正在流式传输的页面上?
答案 0 :(得分:2)
由于您正在将窗口位置设置为新链接,因此页面正在向前移动。你想要做的是使用AJAX进行调用,之后应该让你在当前页面上。 JQuery不是必需的,但会让事情变得更容易。
使用Jquery的示例:
if(e.keyCode == 38) // up arrow
{
$.get("http://Camera-server-IP/decoder_control.cgi?user=admin&pwd=password&command=6", function() {
//on successful call
});
}
使用jquery查看有关请求的更多信息