1

编程和 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 的图像。这很好,它有效,但它很讨厌。我宁愿做的是一起摆脱警报,如果用户的状态恢复为可用状态(如名为 CHECKSTATUS 的函数所示),则只显示 CHATWITHME 图像/链接。我想简单地拿 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>

但这没有用。警报消失了(猜测很好),但未显示图像/链接。我使用代码的经验非常有限,根本不知道如何让锚标记在函数中工作。我可以使用所提供的任何帮助。

谢谢!!!

4

3 回答 3

0

感谢大家。我创建了一个“离线”按钮并上传了它。稍微修改了Walialu提交的代码(谢谢)并提出了这个:

<div id="chatonlinebutton"></div>
<div id="chatofflinebutton"></div>

<script type="text/javascript">

function checkstatus(data) {
    if (data.s == 'available') {
        document.getElementById('chatonlinebutton').innerHTML = '<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>';
    }     else {
        document.getElementById('chatofflinebutton').innerHTML = '<img src="http://www.wechsupport.com/content/images/chatoffline.png" alt="User is offline right now">';
    }
}

window.onload = function() {     jqcc.cometchat.getUser('160881','checkstatus')}; </script>

如果用户在线,则显示在线按钮。如果不是,则会显示一个简单的图形说明“用户离线”。

非常感谢!!

于 2013-05-07T13:08:45.877 回答
0

HTML

<div id="chatwithmebutton"></div>

JavaScript

function checkstatus(data) {
    if (data.s == 'available') {
        document.getElementById('chatwithmebutton').innerHTML = '<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>';
    }
}
于 2013-05-06T14:29:18.507 回答
0

您必须使用 Javascript函数每隔 X 秒setInterval()调用一次该方法。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 语法)

于 2013-05-06T14:33:46.850 回答