code JS PR NOTIF SONORE

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu code JS PR NOTIF SONORE

Message par Sekhmet_ Dim 15 Nov 2020 - 8:10

Détails techniques

Version du forum : ModernBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Mozilla Firefox, Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : https://www.forumactif.com/

Description du problème

Bonjour
nous avons mis le code js pour avoir les notifs sonore et visu mais seul la notif visuel fonctionne
ci dessous les codes que nous avons intégré :
sonore:

window.localStorage && $(window).load(function() {
        var chatbox_script = function() {
        var sounds = {
        'future': 'https://illiweb.com/fa/fdf/future.mp3',
        'hal': 'https://illiweb.com/fa/fdf/hal.mp3',
        'secret': 'https://illiweb.com/fa/fdf/secret.mp3',
        'zelda': 'https://illiweb.com/fa/fdf/zelda.mono.mp3'
        };
        var default_sound = sounds['zelda'];
        var default_freq = 'new';
        var default_when = 'once';
        var default_volume = 100;
       
       
        if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
        var a = document.createElement('audio');
        if(!a.canPlayType) return;
        a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));
       
        var origin_send = Chatbox.prototype.send;
        Chatbox.prototype.send = function(params) {
        var m = $.trim($("#message").val());
        if(m.indexOf('/sound')&&m.indexOf('/soudn'))
        return origin_send.call(this, params);
        m = $.trim(m.substr(6)).split(/\s+/,3);
        var bad_apple = false;
        switch(m[0].toLowerCase()) {
        case "":
        if(!a.src) {
        a.src = localStorage.cb_sound||default_sound;
        a.load();
        }
        a.play();
        break;
        case "all":
        case "new":
        localStorage.cb_freq = m[0]; break;
        case "always":
        case "off":
        case "on":
        case "once":
        case "never":
        localStorage.cb_when = m[0]; break;
        case "stop":
        if(!a.paused) a.pause();
        if(!a.ended && a.readyState > 0) a.currentTime = 0;
        break;
        case "pause":
        if(!a.paused) a.pause();
        break;
        case "volume":
        if(m.length>1) {
        localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
        a.volume = localStorage.cb_volume;
        break
        }
        default:
        bad_apple = true;
        };
        if(bad_apple) {
        if(m[0] in sounds) {
        m[0]= sounds[m[0]];
        }
        if(m[0]=="default") {
        m[0]=default_sound;
        localStorage.removeItem('cb_sound');
        localStorage.removeItem('cb_freq');
        localStorage.removeItem('cb_volume');
        localStorage.removeItem('cb_when');
        a.volume = Math.min(1, Math.max(0, default_volume/100));
        }
        if(/^https?:\/\/.+/.test(m[0])) {
        localStorage.cb_sound = m[0];
        a.pause();
        a.src = m[0];
        a.load();
        a.play();
        } else {
        var message = $('#message').val();
        alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
        setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
        return;
        }
        }
        return $("#message").val('').focus();
        };
       
        $(window).on("focus", function(){ localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });
       
        var play_sound = function(){
        if(a.paused || a.ended) {
        if(a.readyState > 0) a.currentTime=0;
        if(!a.src) {
        a.src = localStorage.cb_sound||default_sound;
        a.load()
        }
        a.play()
        }
        };
        var overrided = Chatbox.prototype.refresh;
        Chatbox.prototype.refresh = function(data) {
        if (data.messages && data.messages.length) {
        var lm = data.messages.slice(-1)[0];
        var last_message = lm.time+','+lm.action+','+lm.msg;
        if(this.last_message_sound != last_message) {
        var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
        user = user.length ? user[0] : [{}];
        if(this.last_message_sound!==undefined) {
        var freq = (localStorage.cb_freq||default_freq);
        var when = (localStorage.cb_when||default_when);
        if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
        if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
        if(when!="once" || !localStorage.cb_once) {
        play_sound();
        localStorage.cb_once = 1;
        }
        }
        }
        }
        this.last_message_sound = lm;
        }
        }
        overrided.call(this, data);
        };
        };
        var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox"],iframe[src^="/chatbox"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
        });

si qq chose ne va pas pourriez vous me dire svp ?
Merci d'avance pour votre aide
Sekhmet


Dernière édition par Sekhmet_ le Dim 15 Nov 2020 - 9:26, édité 1 fois
Sekhmet_

Sekhmet_
***

Féminin
Messages : 106
Inscrit(e) le : 05/11/2020

https://www.forumactif.com/
Sekhmet_ a été remercié(e) par l'auteur de ce sujet.

Résolu Re: code JS PR NOTIF SONORE

Message par Invité Dim 15 Nov 2020 - 8:22

Hello Sekhmet_ ,

tiens un pseudo qui me dit quelque chose..
Merci de mettre les scripts entre les balises appropriées :
code JS PR NOTIF SONORE  174

Alors ce script est configuré avec le son zelda :
Code:

'zelda': 'https://illiweb.com/fa/fdf/zelda.mono.mp3'
};
var default_sound = sounds['zelda'];

Le lien étant obsolète il faut le remplacer par un autre présent ici:
Code:
'future': 'https://illiweb.com/fa/fdf/future.mp3',
'hal': 'https://illiweb.com/fa/fdf/hal.mp3',
'secret': 'https://illiweb.com/fa/fdf/secret.mp3',

Si tu veux le son "future" ,
il faudra le mettre ici:
Code:
var default_sound = sounds['future'];

Le script modifié:
Code:
window.localStorage && $(window).load(function() {
var chatbox_script = function() {
var sounds = {
'future': 'https://illiweb.com/fa/fdf/future.mp3',
'hal': 'https://illiweb.com/fa/fdf/hal.mp3',
'secret': 'https://illiweb.com/fa/fdf/secret.mp3',
 
};
var default_sound = sounds['future'];
var default_freq = 'new';
var default_when = 'once';
var default_volume = 100;


if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
var a = document.createElement('audio');
if(!a.canPlayType) return;
a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));

var origin_send = Chatbox.prototype.send;
Chatbox.prototype.send = function(params) {
var m = $.trim($("#message").val());
if(m.indexOf('/sound')&&m.indexOf('/soudn'))
return origin_send.call(this, params);
m = $.trim(m.substr(6)).split(/\s+/,3);
var bad_apple = false;
switch(m[0].toLowerCase()) {
case "":
if(!a.src) {
a.src = localStorage.cb_sound||default_sound;
a.load();
}
a.play();
break;
case "all":
case "new":
localStorage.cb_freq = m[0]; break;
case "always":
case "off":
case "on":
case "once":
case "never":
localStorage.cb_when = m[0]; break;
case "stop":
if(!a.paused) a.pause();
if(!a.ended && a.readyState > 0) a.currentTime = 0;
break;
case "pause":
if(!a.paused) a.pause();
break;
case "volume":
if(m.length>1) {
localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
a.volume = localStorage.cb_volume;
break
}
default:
bad_apple = true;
};
if(bad_apple) {
if(m[0] in sounds) {
m[0]= sounds[m[0]];
}
if(m[0]=="default") {
m[0]=default_sound;
localStorage.removeItem('cb_sound');
localStorage.removeItem('cb_freq');
localStorage.removeItem('cb_volume');
localStorage.removeItem('cb_when');
a.volume = Math.min(1, Math.max(0, default_volume/100));
}
if(/^https?:\/\/.+/.test(m[0])) {
localStorage.cb_sound = m[0];
a.pause();
a.src = m[0];
a.load();
a.play();
} else {
var message = $('#message').val();
alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
return;
}
}
return $("#message").val('').focus();
};

$(window).on("focus", function(){ localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });

var play_sound = function(){
if(a.paused || a.ended) {
if(a.readyState > 0) a.currentTime=0;
if(!a.src) {
a.src = localStorage.cb_sound||default_sound;
a.load()
}
a.play()
}
};
var overrided = Chatbox.prototype.refresh;
Chatbox.prototype.refresh = function(data) {
if (data.messages && data.messages.length) {
var lm = data.messages.slice(-1)[0];
var last_message = lm.time+','+lm.action+','+lm.msg;
if(this.last_message_sound != last_message) {
var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
user = user.length ? user[0] : [{}];
if(this.last_message_sound!==undefined) {
var freq = (localStorage.cb_freq||default_freq);
var when = (localStorage.cb_when||default_when);
if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
if(when!="once" || !localStorage.cb_once) {
play_sound();
localStorage.cb_once = 1;
}
}
}
}
this.last_message_sound = lm;
}
}
overrided.call(this, data);
};
};
var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox"],iframe[src^="/chatbox"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
});

a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: code JS PR NOTIF SONORE

Message par Sekhmet_ Dim 15 Nov 2020 - 8:27

Bonjour Milouze,
oui j'etais sur ton fofo, mais comme je n'ai pas mis l'url de mon fofo et que tu m'as fait remarqué que c'etait obligatoire j'ai supprimé mon compte

pr le scrip je ne savais pas je vais rectifié sur les autres posts

curieux tout de même que les liens soient obsolètes je les ai trouvé ici :
https://forum.forumactif.com/t376396-codes-pour-la-chatbox#change_at
il serait indispensable de les remplacer
merci pr ta réactivité et ton aide
je vais changer les codes et je te dis si ça a marché
cdt
Sekhmet Smile



Sekhmet_

Sekhmet_
***

Féminin
Messages : 106
Inscrit(e) le : 05/11/2020

https://www.forumactif.com/
Sekhmet_ a été remercié(e) par l'auteur de ce sujet.

Résolu Re: code JS PR NOTIF SONORE

Message par Invité Dim 15 Nov 2020 - 8:33

Re,

il n'y a qu'un lien d’obsolète chère amie.
Les trois autres sont bons Wink .

J'ai remonté l'information au Staff.
a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: code JS PR NOTIF SONORE

Message par Sekhmet_ Dim 15 Nov 2020 - 8:40

merci
mais ça ne fonctionne toujours pas Sad

j'ai pourtant copier coller le script que tu m'as donné mais rien Sad
Sekhmet_

Sekhmet_
***

Féminin
Messages : 106
Inscrit(e) le : 05/11/2020

https://www.forumactif.com/
Sekhmet_ a été remercié(e) par l'auteur de ce sujet.

Résolu Re: code JS PR NOTIF SONORE

Message par Invité Dim 15 Nov 2020 - 8:41

Re,
désolé,
je ne peux rien faire d'autre chère amie.

a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: code JS PR NOTIF SONORE

Message par Sekhmet_ Dim 15 Nov 2020 - 8:48

Milouze14 a écrit:Re,
désolé,
je ne peux rien faire d'autre chère amie.

a++

me reste plus qu'un pelrinage a Lourdes et même ça je ne peux rien faire Sad on est confiné Sad


j'espère que qq'un me trouvera la solution a ces codes qui ne fonctionne pas Sad

merci pour ton aide Milouze
cdt
Sekhmet
Sekhmet_

Sekhmet_
***

Féminin
Messages : 106
Inscrit(e) le : 05/11/2020

https://www.forumactif.com/
Sekhmet_ a été remercié(e) par l'auteur de ce sujet.

Résolu Re: code JS PR NOTIF SONORE

Message par Invité Dim 15 Nov 2020 - 8:51

Re,
ho même un pèlerinage ne fera rien Very Happy .
Comme mentionné sur ton autre message, le lien du forum est primordial .
Donc,bon courage pour les réponses, je pense qu'elle n'arriveront pas de suite..
a++

Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: code JS PR NOTIF SONORE

Message par Sekhmet_ Dim 15 Nov 2020 - 9:24

Milouze14 a écrit:Re,
ho même un pèlerinage ne fera rien Very Happy .
Comme mentionné sur ton autre message, le lien du forum est primordial .
Donc,bon courage pour les réponses, je pense qu'elle n'arriveront pas de suite..
a++


oui je me répète donc pr des raisons de confidentialité et de sécurité je ne souhaite pas mettre mon url
ceci dit tu me l'aurais demandé je te l'aurais envoyé un mp tout simplement Smile

alors y a une bonne nouvelle on a la notfication sonore elle est horrible je vais la changer mais on l'a Smile merci Milouze un problème deja de reglé Very Happy

faut que je trouve une solution pour le reste et c'est pas gagné lol

MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
bien a toi
Sekhmet
Sekhmet_

Sekhmet_
***

Féminin
Messages : 106
Inscrit(e) le : 05/11/2020

https://www.forumactif.com/
Sekhmet_ a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum