这里是编程和 JavaScript 菜鸟,所以我很感谢我能得到的所有帮助。我在我的网站上使用 CometChat,但在使用他们的 API 时遇到了一些问题。我认为这不是 API 的问题,而是如何实现它们的问题。我从 CometChat 网站中提取了这些代码行,并将它们或多或少地剪切粘贴到用户的个人资料页面中(我实际上有一个 CMS 系统,可以在其中即时实现此代码)。这段代码位于用户的个人资料页面(ID 号为 160881 的用户)。
<a href="javascript:void(0)" onclick="javascript:jqcc.cometchat.chatWith('160881');"><img src="http://www.wechsupport.com/content/images/chatwithme.png" alt="Click here to chat with me now"></a>
<script type="text/javascript">
function checkstatus(data) {
if (data.s == 'available') {
alert('User is online');
}
}
window.onload = function() { jqcc.cometchat.getUser('160881','checkstatus')}; </script>
导航到用户页面时,首先会显示一条警报,指出“用户在线”。单击“确定”后,警报消失。此外,还显示名为 CHATWITHME 的图像。很好,它有效,但它很糟糕。我宁愿做的是一起摆脱警报,并在用户状态恢复为可用时仅显示 CHATWITHME 图像/链接(如名为 CHECKSTATUS 的函数所示)。我想简单地采用 A HREF 片段并用它替换 ALERT,如下所示:
<script type="text/javascript">
function checkstatus(data) {
if (data.s == 'available') {
<a href="javascript:void(0)" onclick="javascript:jqcc.cometchat.chatWith('160881');"><img src="http://www.wechsupport.com/content/images/chatwithme.png" alt="Click here to chat with me now"></a>;
}
}
window.onload = function() { jqcc.cometchat.getUser('160881','checkstatus')}; </script>
但这并没有奏效。警报消失了(猜测是好的),但图像/链接未显示。我使用代码的经验非常有限,并且根本不知道如何让 anchor 标记在函数中工作。我可以使用提供的任何帮助。
谢谢!!!
最佳答案
您必须使用 Javascript setInterval()
函数每 X 秒调用 jqcc.cometchat.getUser
方法。如果您想在每次状态更改时显示/隐藏按钮,您还必须稍微修改 HTML:
<div id="chat-button">
<a href="javascript:void(0)" onclick="javascript:jqcc.cometchat.chatWith('160881');"><img src="http://www.wechsupport.com/content/images/chatwithme.png" alt="Click here to chat with me now"></a>
</div>
并且,在 checkstatus()
函数中执行以下操作:
function checkstatus() {
if (data.s == 'available') {
$('#chat-button').show();
} else {
$('#chat-button').hide();
}
}
(我在 Javascript 代码中使用 jQuery 语法)
关于javascript - 如何在函数内显示带有超链接的 JavaScript 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16400829/