【发布时间】:2015-06-01 11:43:40
【问题描述】:
我不确定这是否可能,或者我只是做错了。 我想要做的是调用一个函数来检查数据库以获取 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?这可能很简单,但我无法做到这一点。任何帮助表示赞赏。提前致谢。
【问题讨论】:
-
您想对 skypeme.cfm 使用 Ajax 请求,并且仅在该请求成功完成后才执行重定位
-
您的问题在 skypeme.cfm 中显示了一个 window.location。这不是你想要的吗?另外,更简单的方法将涉及更少的 js。为什么没有从html页面到coldfusion页面的正常锚标签?
-
@duncan 你是怎么做到的?此外,我真的不希望用户被重定向到“重新定位”,而是留在 start.html 页面并启动 Skype。
-
@DanBracuk skypeme.cfm 负责启动 Skype。但是当调用 skypeme 时,用户会被定向。我不希望用户被重定向。锚标记还将用户重定向到我不想要的 skypeme.cfm。 skypeme 只是用于检查数据库并启动Skype。用户应该停留在 start.html 页面上并在后台运行 skypeme。顺便说一句,我也尝试将 skypeme 转换为 cffunction,但显然我无法在 cffunction 内执行 javascript 启动 skype。
-
我在谷歌上搜索并找到了这个:stackoverflow.com/questions/2841676/…也许它会帮助你。
标签: javascript jquery html coldfusion skype