@ld6666666666666

Звуковое оповещание, на приходящие сообщение как реализовать?

// Ribbon
// Объект для управления уведомлениями в левом боковом меню
// 

var ribbon = {
    // 
    // Создает и возвращает html строку пункта меню
    // 
    create:function(js_class,color,href,img,id,count,text)
    {
        return "<li class=\""+js_class+"\"><a class=\""+color+"\" href=\""+href+"\"><i class=\""+img+"\"></i><div class=\"ribbon-msg\"><span class=\"count\" id=\""+id+"\">"+count+"</span>"+text+"</div></a></li>";
    },
    // 
    // Добавляет пункт меню в боковую панель
    // 
    insert:function(ribbon)
    {
        $("ul.ribbon-menu").append(ribbon);
    },
    // 
    // Обновляет в определенном пункте меню значение
    // 
    update:function(ribbon_id,count)
    {
        if (this.exists(ribbon_id))
        {
            $("ul.ribbon-menu").children("li").children("a").children("div.ribbon-msg").children("span#"+ribbon_id).text(count);
            return true;
        }
        else
        {
            return false;
        }
    },
    // 
    // Удаляет определенный пункт пункт в боковом меню
    // 
    remove:function(ribbon_id)
    {
        if (ribbon.exists(ribbon_id))
        {
            $("span#"+ribbon_id).parents("div.ribbon-msg").parents("a").parents("li").remove();
        }
    },
    // 
    // Проверят на существование пункта меню
    // 
    exists:function(ribbon_id)
    {
        if ($("ul.ribbon-menu").children("li").children("a").children("div.ribbon-msg").children("span#"+ribbon_id).length > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

var offers = {
    old_count:0,
    init:function()
    {

    },
    run:function()
    {

    },
    delete:function()
    {

    },
    add:function(offer_id)
    {
            $.ajax({
                type: "POST",
                url: "/account/offer",
                data: "action=add-me&offer_id="+offer_id,
                timeout: 2000,
                success: function(text)
                {
                    $("form.reply-form[data-id="+offer_id+"]").children("div.loader").html(text);
                },
                error: function(text){
                    $("form.reply-form[data-id="+offer_id+"]").children("div.loader").html(str_error);
                    $("div.ask-data[data-id="+offer_id+"]").children("div.content").children("p.action").children("span.action-bar").fadeIn(50);
                }
            });

            $("div.ask-data[data-id="+offer_id+"]").children("div.content").children("p.action").children("span.action-bar").fadeOut(50);

            if ($("form.reply-form[data-id="+offer_id+"]").length > 0)
            {
                $("form.reply-form[data-id="+offer_id+"]").children("div.loader").html(str_wait);
            }
            else
            {
                $("div.ask-data[id="+offer_id+"]").append("<form data-id=\""+offer_id+"\" class=\"reply-form\" style=\"\"><div class=\"loader\" style=\"display: block; border-top: none\">"+str_wait+"</div></form>");
            }

            // $("form.reply-form[data-id="+ask_id+"]").children("div.img-content").fadeOut(0);
            // $("form.reply-form[data-id="+ask_id+"]").children("div.loader").html("<span class=\"spinner\"></span>").css("border-top","none").fadeIn();
            // $("form.reply-form[data-id="+ask_id+"]").children("div.footer").fadeOut(20);
    }
}

var page = {
    print:function(page_id,page_data)
    {
        $.ajax({
            type: "POST", 
            url: "/account/"+page_data,
            data: "page="+page_id,
            success: function(html){
                $('div.view-more-container').remove();
                $('div.questions-content').append(html);
            },
            error: function(xhr){
                $("a.prj-button-full").show();
                $("img#view-more-spinner").addClass("hide");
            }
        });

        $("a.prj-button-full").hide();
        $("img#view-more-spinner").removeClass("hide");
    }
}

var like = {
    add:function(user_id,ask_id,token_auth)
    {
        if (typeof options.my_profile != 'undefined')
        {
            $.ajax({
                type: "POST",
                url: "/"+user_id+"/answer/"+ask_id+"/like",
                data: "action=add-like&token_auth="+token_auth,
                success: function(text){
                    switch (text){
                        case 'ERROR_ROBOT_DETECT':
                        {
                            if (options.mobiledetect === "false")
                            {
                                dialog.show(robot_detect);
                            }

                            $("span[data-id="+ask_id+"].liketoolbox").show();
                            $("span[data-id="+ask_id+"].likeloadbox").hide();
                            break;
                        }

                        case 'ERROR_LOGIN':
                        {
                            if (options.mobiledetect === "false")
                            {
                                dialog.show(like_promt);
                            }

                            $("span[data-id="+ask_id+"].liketoolbox").show();
                            $("span[data-id="+ask_id+"].likeloadbox").hide();
                            break;
                        }

                        case 'ERROR_TOKEN':
                        {
                            if (options.mobiledetect === "false")
                            {
                                dialog.show(like_promt);
                            }

                            $("span[data-id="+ask_id+"].liketoolbox").show();
                            $("span[data-id="+ask_id+"].likeloadbox").hide();
                            break;
                        }

                        default:
                        {
                            var myvar = text;
                            var arra = myvar.split('_');

                            // arra[0] = likecount
                            // arra[1] = new rating

                            $("a[data-id="+ask_id+"].likecount").html(arra[0]);
                            $("span[data-id="+ask_id+"].liketoolbox").show();
                            $("span[data-id="+ask_id+"].likeloadbox").hide();

                            break;
                        }
                    }
                },
                error: function(){
                    $("span[data-id="+ask_id+"].liketoolbox").show();
                    $("span[data-id="+ask_id+"].likeloadbox").hide();
                }
            });

            $("span[data-id="+ask_id+"].liketoolbox").hide();
            $("span[data-id="+ask_id+"].likeloadbox").show();

            return false;
        }
        else
        {
            if (options.mobiledetect === "false")
            {
                dialog.show(like_promt);
                return false;
            }
        }
    }
}

var dialog = {
    show:function(dlg_text)
    {
        modal = notify.Init();
        notify.Show(dlg_text,modal)
    }
}


ВОТ код звукового оповещания
var playSound = function(path){
    var o = new Audio();
    o.src = path;
    o.play();
}

playSound("http://ssilki.at.ua/files/icq.mp3");


куда его воткнуть? что бы при появлении сообщения воспроизводился звук?
  • Вопрос задан
  • 2372 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Grag
Плей саунд при саксес вызови и все в Ajax.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы