在不打开新页面的情况下从浏览器调用客户端URL
Calling client side URL from browser without opening new page
我正试图创建一个按钮,通过访问URL字符串来拨打IP电话:
http://admin:password@192.168.0.20/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789
当直接在浏览器中输入时,页面返回1并拨打IP电话。
在我的网站上,我可以创建一个简单的链接,点击后,可以在新窗口中访问此页面。
有没有什么方法可以在用户没有看到它打开的情况下访问这个页面?
当然可以使用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:password@192.168.0.20/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789",true);
xmlhttp.send();
jQuery让这变得更容易:
$.get("http://admin:password@192.168.0.20/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789")
编辑:由于你正在跨域旅行,并且不能使用CORS,你可以使用javascript打开链接,他们会立即关闭窗口。以下示例:
document.getElementById("target").onclick = function(e) {
var wnd = window.open("http://admin:password@192.168.0.20/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789");
wnd.close();
e.preventDefault();
};
您将使用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:password@192.168.0.20/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789", true);
oReq.send();
这将是半隐藏的。然而,它仍然是客户端发出的,所以他们会在网络记录中看到它的出现。如果你想真正隐藏这一点,你就必须在服务器端这样做。
这个javascript将在后台调用它,而不显示任何内容:
<script src="javascript">
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "http://admin:password@192.168.0.20/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789", true);
xhttp.send();
<script>
当然,如果你分析网站,它在控制台中仍然可见。如果你想在没有跟踪的情况下调用它,你可以使用像PHP这样的服务器端脚本,比如:
<?php
$response=file_get_contents("http://admin:password@192.168.0.20/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=0123456789");
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 同步(阻塞)ajax调用是否可以阻塞浏览器'的UI
- 在某些浏览器上,Ajax 调用停止
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- 在单击浏览器选项卡上调用 js 函数
- 如何在没有JQuery的情况下,通过对服务器的基本ajax调用,根据浏览器上的用户活动保持服务器会话活动
- 调用本机浏览器函数,即使它已被覆盖
- 从浏览器调用角度控制器函数
- 从web浏览器进行Win API调用
- Jquery没有在firefox浏览器中调用Webservice方法,它在Chrome和IE中运行良好
- 在Facebook图形中,使用Javascript的IE(所有版本)不支持API调用跨浏览器调用
- 无法从节点调用 REST.js如果我从浏览器调用,则可以正常工作
- 通过互联网从浏览器调用服务器端javascript
- 如何防止浏览器调用基本的验证弹出窗口并使用Jquery处理401错误
- 在不打开新页面的情况下从浏览器调用客户端URL
- 如何从android网络浏览器调用JavaScript接口方法
- 我们可以直接从浏览器调用twitter API吗?
- 欺骗浏览器调用javascript事件