在不打开新页面的情况下,从浏览器中调用客户端的URL。

问题描述 投票:3回答:3

我试图创建一个按钮,通过访问一个URL字符串来拨打IP电话。

http://admin:[email protected]/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789

当直接进入浏览器时,页面返回一个1,然后拨打IP电话。

在我的网站上,我可以创建一个简单的链接,当点击时,在一个新窗口中访问这个页面。

有没有什么方法可以在访问这个页面的时候,不让用户看到它打开了?

javascript html asp.net client-side
3个回答
8
投票

当然,你可以使用AJAX调用。

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    var response = xmlhttp.responseText; //if you need to do something with the returned value
  }
}

xmlhttp.open("GET","http://admin:[email protected]/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789",true);
xmlhttp.send();

jQuery 使得这一点更加容易。

$.get("http://admin:[email protected]/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789")

编辑:因为你是跨域旅行,不能使用CORS,你可以使用javascript打开链接,他们立即关闭窗口。下面的例子。

document.getElementById("target").onclick = function(e) {
    var wnd = window.open("http://admin:[email protected]/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789");
    wnd.close();
    e.preventDefault();
};

2
投票

你会使用一个 XMLHttpRequest

function dialResponse() {
 console.log(this.responseText);//should be return value of 1
}

var oReq = new XMLHttpRequest();
oReq.onload = dialResponse;
oReq.open("get", "http://admin:[email protected]/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789", true);
oReq.send();

这将是半隐藏的。然而,它仍然是在客户端发出的,所以他们会在网络记录中看到它的发生。如果你想让它真正的隐藏,你必须在服务器端进行。


0
投票

这个javascript会在后台调用它而不显示任何东西。

<script src="javascript">
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "http://admin:[email protected]/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789", true);
xhttp.send();
<script>

当然,如果你分析网站的话,它仍然会在控制台显示出来。如果你想无痕调用它,你可以使用像PHP这样的服务器端脚本。

<?php
$response=file_get_contents("http://admin:[email protected]/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789");
© www.soinside.com 2019 - 2024. All rights reserved.