如何在没有被Javascript中的window.location重定向的情况下启动Skype?

时间:2015-03-28 01:35:14

标签: javascript jquery html coldfusion skype

我不确定这是否可行,或者我只是以错误的方式做到这一点。 我想要做的是调用一个函数来检查数据库以获取skype id(用户B)并验证用户A是否登录。如果用户A登录并且找到用户B的Skype ID,则启动Skype。如果没有,没有任何反应。听起来很简单......

当用户(用户A)单击表单上的图像按钮时,将调用该函数。

例如在start.html上

<a href="#" onclick="skypeme('var1','var2'); return false"><img src="images/chat.png" ></a>

skypeme是一个像这样的javascript函数:

<script>
function skypeme(a,b) {
    window.location = 'skypeme.cfm?a=' + a + '&b=' + b;
    }
</script>

调用skypeme.cfm进行所有数据库检查:

check the database and see if user A is login.... 
if user A is login, check if user B has skype ID
       if skype id is found for user B do this
           <script language="javascript">
           window.location = 'skype:#skype_id#?chat';
           </script>
       else do nothing 
else user A is not login
    <script language="javascript">
    signin('#a#','#b#');
    </script>

skypeme.cfm正在完成其工作,并在检查完所有内容后启动Skype。但是,问题是当用户点击start.html上的按钮时,他被定向到一个空白页面skypeme.cfm(skypeme.cfm不会显示除了检查之外的任何内容)然后Skype会启动。

有没有办法做到这一点,以便当用户点击start.html上的聊天按钮时,他将在start.html页面上保留,而skype.cfm检查数据库并使用javascript代码启动Skype?这可能很简单,但我无法做到这一点。任何帮助表示赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:0)

用于重定向到链接

window.location = 'skype:' + phone + '?call';

答案 1 :(得分:0)

代替将window.location指向skypeme.cfm,而是将其加载到iframe中(您可以将iframe动态附加到文档上,也可以只更改其src)。将iframe重定向到skype: uri同样有效。