发送URL请求,无需离开页面

时间:2016-02-02 16:09:56

标签: javascript url redirect streaming url-redirection

我有一个网页,带有流媒体网络摄像头。相机使用相机内部网络服务器上的脚本进行平移和倾斜。我无法修改脚本,它的输出是一个网页,上面写着" 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请求发送到相机,但同时保留在相机正在流式传输的页面上?

1 个答案:

答案 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
    });
}

您可以在https://api.jquery.com/jquery.get/

使用jquery查看有关请求的更多信息