问题描述
我目前正在研究将电话听筒连接到Web界面的计算机电话集成系统。可以使用http命令“ http://admin:password@[phone ip address]/command.htm?number=[phonenumber]
”从SNOM手机发出呼叫。除打开一个新窗口重定向到SNOM索引页面外,此方法正常运行-我正在尝试停止此重定向,但仍允许进行呼叫。
不是直接在浏览器中输入URL,而是提供了一个链接,用户可以按该链接开始通话:
<a target="popup" onclick="dial()">Dial</a>
该链接调用使用通过相应网址传递的window.open()的Dial()函数。
- 使用window.open()然后实现x毫秒的超时,然后使用.close()关闭标签页
=>该页面打开并拨打了电话,但没有关闭 - 使用window.document.open()。write()更改SNOM索引页的内容,使其表示“拨号号码” =>这样可以正确地重写页面,因此至少可以掩盖弹出窗口,但可以更改url至:空白且听筒不拨号
- 使用window.blur()或将window的“ left” /“ top”参数设置为10000将其移出页面=>这也不起作用,只是将其移至角落。
- 应用iframe隐藏框架=>这会导致更多错误
- 我尝试了许多AJAX表单/方法,但进展并不顺利。
为尝试解决此问题,我访问了以下stackoverflow链接:
- Make a ping to a url without redirecting
- Hidden window using javascript
- sending an url but staying on the same page ( php,codeigniter,javascript )
简而言之,我需要能够调用URL-“ http://admin:password@[phone ip address]/command.htm?number=[phonenumber]
”,然后隐藏弹出窗口,立即关闭弹出窗口但仍然进行呼叫,或者重写页面以便伪装它。
这是以下代码:
<!DOCTYPE html>
<html>
<head>
<Meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<style>
a {
padding:.5em;
background-color:rgb(55,55,55);
color:white;
text-decoration:none;
font-weight:lighter;
cursor:pointer;
}
</style>
<body>
Call Number
<br>
<input name = 'number' id = 'number' type = 'number'>
<br><br>
<a target="popup" onclick="dial()">Dial</a>
</body>
<script>
function dial() {
var num = $('#number').val();
str1 = 'http://admin:password@[ip address]/command.htm?number=9'
var url = str1.concat(num);
var x = window.open(url,'_blank','toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left=-20000,top=20000,width=10,height=10,visible=none').blur();
/*
w.document.open().getElementById('body').innerHTML="<body fontFamily = 'Raleway' bgColor='red' text='white'><table><tr><td><img src= 'https://www.sexologistdoctorindelhi.com/images/call.gif' style = 'height:120px;margin-left:-40px;margin-right:-30px;margin-top:-20px;'</td><td><h1 style = 'margin-top: -15px;'> Dialling</h1><p style = 'margin-top:-20px;'> "+num+"</p></td><title>WWS</title></body>";
*/
}
</script>
</html>
解决方法
如果您可以选择使用iframe,则只需将height
中的width
和iframe
设置为0,或者将hidden
的可见性设置为