Script SCM music player ne fonctionne pas

4 participants

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

Résolu Script SCM music player ne fonctionne pas

Message par Kaehlyth Lun 23 Mai 2022 - 13:31

Détails techniques


Version du forum : phpBB2
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Autre
Personnes concernées par le problème : Tous les utilisateurs
Problème apparu depuis : Aujourd'hui
Lien du forum : https://albastrya.bbactif.com/

Description du problème

Bonjour,

il se trouve que j'ai voulu tester ceci : https://forum.forumactif.com/t400189-probleme-de-connection-avec-un-scm-player-integre

Cependant je ne peux pas du tout me connecter et virer le script suivant (Problème résolu plus bas ! ) :
Code:
<!-- SCM Music Player https://www.scmplayer.net -->
<script type="text/javascript" src="https://www.scmplayer.net/script.js"
data-config="{'skin':'https://static.tumblr.com/83zgfej/c83m2c7qy/skin19.css','volume':19,'autoplay':true,'shuffle':false,'repeat':1,'placement':'top','showplaylist':false,'playlist':[{'title':'Ambian%E7age ','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'}]}" ></script>
<!-- SCM Music Player script end -->

Script SCM music player ne fonctionne pas  Captur29


De ce fait, même avec l'outil fondateur, je ne peux pas me connecter et je ne souhaite pas un back up car ce dernier date du 16 et j'ai fait énormement de modification... Est-il possible de m'aider ?

merci... Snifff aidez moi


La résolution a été rapide car j'ai vu , grâce aux sujets liés, le lien de ceci : https://forum.forumactif.com/t362534-impossible-de-se-connecter-et-d-acceder-au-panneau-d-admin
Chacha a donné la réponse et m'a permis de supprimer le script qui m'empêchait de me connecter.

J'aurai voulu savoir dans un second temps si vous seriez ce qui bloque l'intégration de ce player, et la connexion forum ?
Je me doute que le sujet n'est pas au bon endroit mais la première aide demandée concernait réellement le panneau d'administration  Embarassed  Embarassed


Cordialement


Dernière édition par Kaehlyth le Mer 25 Mai 2022 - 15:57, édité 1 fois
Kaehlyth

Kaehlyth
***

Messages : 147
Inscrit(e) le : 27/04/2022

Voir le profil de l'utilisateur https://albastrya.bbactif.com/
Kaehlyth a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script SCM music player ne fonctionne pas

Message par Chacha Lun 23 Mai 2022 - 14:26

Kaehlyth a écrit:Je me doute que le sujet n'est pas au bon endroit mais la première aide demandée concernait réellement le panneau d'administration Embarassed Embarassed
Bonjour @Kaehlyth,

Il n'y a pas de souci, votre sujet a été déplacé dans la section "Problème avec un script, un code".

Cordialement.
Chacha

Chacha
Modéractif
Modéractif

Masculin
Messages : 66962
Inscrit(e) le : 21/08/2010

Voir le profil de l'utilisateur https://forum.forumactif.com/
Chacha a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script SCM music player ne fonctionne pas

Message par Kaehlyth Lun 23 Mai 2022 - 14:31

Je vous remercie @Chacha pour votre aide et votre compréhension. ☺
Kaehlyth

Kaehlyth
***

Messages : 147
Inscrit(e) le : 27/04/2022

Voir le profil de l'utilisateur https://albastrya.bbactif.com/
Kaehlyth a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Script SCM music player ne fonctionne pas

Message par Oka.mi Lun 23 Mai 2022 - 18:25

Bonjour,

Kaehlyth a écrit:J'aurai voulu savoir dans un second temps si vous seriez ce qui bloque l'intégration de ce player, et la connexion forum ?
Où aviez-vous placé le code ?


Script SCM music player ne fonctionne pas  1213Donnez un titre explicite Script SCM music player ne fonctionne pas  VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Script SCM music player ne fonctionne pas  976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Script SCM music player ne fonctionne pas  FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2728
Inscrit(e) le : 06/01/2011

Voir le profil de l'utilisateur https://deus-academia.forumactif.com/
Oka.mi a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script SCM music player ne fonctionne pas

Message par Kaehlyth Lun 23 Mai 2022 - 18:29

Bonjour Oka.mi !

Oka.mi a écrit:Bonjour,
Où aviez-vous placé le code ?

J'ai placé le code dans "overall header"
en dessous de la ligne :
Code:
<body background="{T_BODY_BACKGROUND}" bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}"vlink="{T_BODY_VLINK}">

En le mettant en dessous, le player ne s'affichait pas.
Au-dessus, il s'affichait mais ne se lançait pas (la musique).

La cause de son non affichage à la place où il doit être, est sûrement dû à une sorte de z-index ? Après tout, j'ai plusieurs éléments graphiques qui se chevauchent parfaitement sur mon forum.

Que ce soit l'un ou l'autre (au dessus ou en dessous), la connexion était IMPOSSIBLE.
Kaehlyth

Kaehlyth
***

Messages : 147
Inscrit(e) le : 27/04/2022

Voir le profil de l'utilisateur https://albastrya.bbactif.com/
Kaehlyth a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Script SCM music player ne fonctionne pas

Message par Oka.mi Lun 23 Mai 2022 - 18:37

Mettez-le tout à la fin, entre le </table> et le </body> et dîtes-moi si cela fonctionne.


Script SCM music player ne fonctionne pas  1213Donnez un titre explicite Script SCM music player ne fonctionne pas  VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Script SCM music player ne fonctionne pas  976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Script SCM music player ne fonctionne pas  FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2728
Inscrit(e) le : 06/01/2011

Voir le profil de l'utilisateur https://deus-academia.forumactif.com/
Oka.mi a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script SCM music player ne fonctionne pas

Message par Kaehlyth Lun 23 Mai 2022 - 18:39

La bonne nouvelle est que la connexion n'est pas "bloquée".
La seconde qui est "mauvaise", c'est qu'il ne s'affiche pas.

Du fait que la connexion n'est pas bloquée, je vous laisse l'accès au code en enlevant l'anti clic droit également qui pourrait vous gener.
Kaehlyth

Kaehlyth
***

Messages : 147
Inscrit(e) le : 27/04/2022

Voir le profil de l'utilisateur https://albastrya.bbactif.com/
Kaehlyth a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Script SCM music player ne fonctionne pas

Message par Oka.mi Mar 24 Mai 2022 - 9:11

Bonjour,

Pour information, le problème est plus complexe que prévu. En effet, en y regardant de plus près, j'ai vu que le script crée un iframe qui récupère les éléments de la page et donc, on navigue en réalité à l'intérieur de l'iframe en question. C'est, en soi, la solution pour que la musique joue en continu et ne s'interrompt pas lorsqu'on change de page : puisque la page ne se recharge pas, et qu'on se promène juste dans la page qui est dans la page, le script du lecteur reste en place.
Le problème, maintenant, c'est que Forumactif bloque la page de connexion lorsqu'elle est dans un iframe, et à raison, pour la sécurité des identifiants.
Avec un ami, on a essayé plusieurs techniques, sans succès, et plus ça va, plus on se dirige vers une réécriture complète du script. Je vais me renseigner auprès de l'équipe pro pour savoir s'ils ont plus d'info de ce côté.

Merci de votre patience.


Script SCM music player ne fonctionne pas  1213Donnez un titre explicite Script SCM music player ne fonctionne pas  VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Script SCM music player ne fonctionne pas  976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Script SCM music player ne fonctionne pas  FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2728
Inscrit(e) le : 06/01/2011

Voir le profil de l'utilisateur https://deus-academia.forumactif.com/
Oka.mi a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script SCM music player ne fonctionne pas

Message par Kaehlyth Mar 24 Mai 2022 - 9:14

Bonjour !

Je vous remercie des détails et d'avoir totalement expliqué le problème.
En effet, dans un premier temps j'ai cru que ça se comportait comme un iframe mais ne m'y connaissant pas et ne voyant pas la balise nommée... je me suis dis que c'était une histoire de cookie auxquel FA avait "naturellement" banni. Cela arrive selon les sites et ça ne m'a pas choqué suite au sujet que j'ai linké plus haut.

Ce script est normalement une alternative "simplifiée" de radio. Il n'est pas vital ou urgent, prenez votre temps. Je vous remercie déjà de vous pencher sur le sujet. thumright
Kaehlyth

Kaehlyth
***

Messages : 147
Inscrit(e) le : 27/04/2022

Voir le profil de l'utilisateur https://albastrya.bbactif.com/
Kaehlyth a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Script SCM music player ne fonctionne pas

Message par Toryudo Mar 24 Mai 2022 - 23:20

Bonjour !

Avec Oka.mi donc, nous avons testé pas mal de choses.
Alors plus précisément, pourquoi ça ne fonctionne pas actuellement : le script crée une iframe (1) du site https://www.scmplayer.net/ et à l'intérieur de cet iframe (1), il crée un iframe (2) qui contient le lecteur youtube et un iframe (3) qui contient votre forum. Quand on consulte votre forum, on le fait donc à travers le site https://www.scmplayer.net/, un peu comme s'il nous servait de proxy. Bon... non, mais vous comprenez le principe : les données peuvent être lues et interceptées par https://www.scmplayer.net/ et pour les données de connexion, ce ne serait pas souhaitable, parce que ce site pourrait récupérer votre mot de passe par exemple ("man-in-the-middle"). Donc Forumactif bloque ça : ils n'interdisent pas que la page login apparaisse dans un iframe, mais ils interdisent le fait qu'elle apparaisse dans un iframe via un autre site... et c'est le cas ici.

Solution que je vous propose : on va recréer l'iframe (1) dans les pages personnalisées de votre forum et faire en sorte que le script pointe vers cette page perso plutôt que vers https://www.scmplayer.net/
Ainsi, on ne passera plus par https://www.scmplayer.net/ mais on restera sur votre forum... et du coup, iframe ou non, la page login voudra bien s'afficher parce qu'on restera dans son "domain", on restera en interne.

Page HTML à créer dans vos HTML personnalisés : vous allez dans Gestion des pages HTML > Création en mode avancé (HTML) et vous copiez ce contenu :
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SCM Music Player</title>
<meta name="robots" content="noindex" />
<link rel="stylesheet" type="text/css" href="https://www.scmplayer.net/css/reset.css" />
<style type="text/css">
body{overflow:hidden; background:transparent; }
#contentW, #playlistW, #playerW{ position:absolute; overflow:hidden;}
#contentW{z-index:10; top:0; bottom:0; left:0; right:0;}
#playlistW{ z-index:1; right:0; top:0; bottom:0; width:0; }
#playerW{z-index:2; left:0; right:0; height:0;}
#content{ position:relative; height:100%; width:100%;  }
#SCMYoutube{ display: none; }
</style>
<link rel="stylesheet" type="text/css" href="https://www.scmplayer.net/css/scm.css?168" />
<link rel="stylesheet" type="text/css" data-bind="attr:{href:skin}" id="skin" />
</head>
<body>
   <div id="contentW" data-bind="style:{top:placement()=='top'?'25px':'0',
      bottom:placement()=='top'?'0':'25px', right:showPlaylist()?'202px':'0'}">
<script type="text/javascript">
(function(){
   var addEvent = function(elm, evType, fn) {
         if(elm.addEventListener)
            elm.addEventListener(evType, fn);
         else if (elm.attachEvent)
            elm.attachEvent('on' + evType, fn);
         else
            elm['on' + evType] = fn;
      },
      url = location.hash.substr(1),
      host = url.substr(0,url.indexOf('/',10));

   window.SCMQueue = [];
   addEvent(window,'message',function(e){
      var data = e.data;
      if(data.indexOf('SCM')!=0)
         return;
      if(window.SCM && window.Song)
         (new Function("SCM,Song",data))(SCM,Song);
      else
         SCMQueue.push(data);
   });
   url = url.replace(/(\%27|')/g, '%2527');
   document.write('<iframe src="javascript:location.replace(\''+url+'\');" frameborder="0" id="content" allowtransparency="true" name="content"></iframe>');
})();
</script>
</div>
<div id="playerW" data-bind="style:{ top:placement()=='top'?'0':'auto',
   bottom:placement()=='top'?'auto':'0',height:'25px'}">
   <div id="player">
      <div class="item button" data-bind="
         click:previous,
         maskBtn:{css:'mainImage'}
         " id="previous"></div>
      <div class="item button" data-bind="
         click:play,
         visible:!isPlay(),
         maskBtn:{hasOffset:false}
         " id="play"></div>
      <div class="item button" data-bind="
         click:pause,
         visible:isPlay(),
         maskBtn:{css:'mainImage'}
         " id="pause"></div>
      <div class="item button" data-bind="
         click:next,
         maskBtn:{css:'mainImage'}
         " id="next"></div>
      <div class="text" id="title" data-bind="
         followLeft:'#seeker'
         " >
      <a data-bind="text:display, attr: { href: current().url() }" target="_blank" id="titleLink" > </a>
      </div>
      <div class="item" data-bind="
         slider:playedFraction,
         sliderOptions:{step:0.00001,min:0,max:1,pauseable:true}
         " id="seeker">
         <div id="seekerSliderBase" class="ui-slider-handle"></div>
         <div id="seekerBase"></div>
         <div id="seekerBuffered" data-bind="
            style:{width:(loadedFraction()*100)+'%'}
            "></div>
      </div>
      <div class="text" id="tooltip">
         <a href="http://scmplayer.net" id="scmLink" target="_blank" >SCM Music Player</a>
      </div>
      <div class="text item" id="timer" data-bind="text:timer"></div>
      <div class="item ui-slider-horizontal" data-bind="
         innerBound:{bound:'.bound',handle:'.ui-slider-handle'}
         " id="volume" >
         <div class="bound" data-bind="
            slider:volume,
            sliderOptions:{liveUpdate:true},
            caption:'Volume: '+volume()+'%',
            captionOptions:{target:'#tooltip a',trigger:'slide'}
            ">
         <div class="ui-slider-handle" id="volumeSlider"></div>
         </div>
      </div>
      <div class="item button" id="list"
         data-bind="maskBtn:{css:'mainImage',align:'right'},
         click:togglePlaylist,
         caption:'Toggle Playlist',
         captionOptions:{target:'#tooltip a',trigger:'hover'}
         "></div>
      <div class="mainImage" id="baseRight"></div>
      <div class="mainImage" id="baseLeft"></div>
   </div>
</div>
<div id="playlistW" data-bind="style:{top:placement()=='top'?'25px':'0',
      bottom:placement()=='top'?'0':'25px', width:showPlaylist()?'202px':'0'}">
   <div id="playlist">
      <div class="module">
         <h3>Playlist</h3>
      </div>
     <div class="module" id="playlistContainer">
      <ol class="items" style="bottom:250px;">
        <!-- ko foreach:playlist -->
            <li class="item" data-bind="
            visible:isValid(),
            click:$root.play,
            css:{focus:on, even:$index()%2==1, odd:$index()%2==0}
            ">
               <span class="title" data-bind="text:title"></span>&nbsp;
            </li>
        <!-- /ko -->
         </ol>
      <div class="odd" style="z-index:167; margin-left:-25px; position:absolute; height:220px; overflow: hidden; left:0; right:0; bottom:0;" >
        <!-- BuySellAds Zone Code -->
        <!-- <div id="bsap_1306358" class="bsarocks bsap_09cb595ac00d408b4665ea9a271bdd97"></div> -->
        <div id="bsap_1306386" style="transform: scale(0.84); margin-top: -20px;" class="bsarocks bsap_09cb595ac00d408b4665ea9a271bdd97"></div>

        <!-- End BuySellAds Zone Code -->
      </div>
      </div>
   </div>
</div>

<script type="text/javascript" src="https://www.scmplayer.net/js/lib/soundmanager/soundmanager2-nodebug-jsmin.js"></script>
<script type="text/javascript">
var requirejs = ({
   shim: {
      'underscore': {exports: '_'},
      'jquery.ui': {deps: ['jquery'],exports: 'jQuery'},
      'jquery.scrollto': {deps: ['jquery'],exports: 'jQuery'}
   },
   paths: {
      'jquery': 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min',
      'jquery.ui': 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min',
      'jquery.scrollto': 'https://www.scmplayer.net/js/lib/jquery/jquery.scrollTo.min',
      'underscore': 'https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.1/underscore-min',
      'knockout':'https://cdnjs.cloudflare.com/ajax/libs/knockout/2.1.0/knockout-min',

      'text': 'https://www.scmplayer.net/js/lib/require/text',
      'domready': 'https://www.scmplayer.net/js/lib/require/domready',

      'scm': 'https://www.scmplayer.net/js/scm',
      'scm.ui': 'https://www.scmplayer.net/js/scm.ui',
      'song': 'https://www.scmplayer.net/js/song',
      'binding/scm': 'https://www.scmplayer.net/js/binding/scm',
      'binding/slider': 'https://www.scmplayer.net/js/binding/slider',
      'binding/sortable': 'https://www.scmplayer.net/js/binding/sortable'
   },
   config:{
      'scm':{
         playback:{
            'youtube':'(youtube.com|youtu.be)',
            'soundcloud':'^http(s)?\:\/\/soundcloud.com',
            "exfm": "^( *)(http(s)?://)?(www.)?ex.fm",
            'soundmanager':'.*'
         },
         playlist:{
            'youtube':'(youtube.com|youtu.be)',
            'soundcloud':'^http(s)?\:\/\/soundcloud.com',
            'rss':'.*'
         }
      }
   },
   waitSeconds: 900,
   baseUrl: 'https://www.scmplayer.net/js/'
});
</script>
<script type="text/javascript" src="https://www.scmplayer.net/js/lib/require/require.js"></script>
<script type="text/javascript">
soundManager.preferFlash = false;
soundManager.useHTML5Audio = true;
soundManager.url = 'swf/';
soundManager.allowScriptAccess = 'always';

require([
   'knockout','jquery','underscore',
   'scm','song','scm.ui',

   'binding/slider',
   'binding/scm'
   ],function(ko,$,_,SCM,Song){
      var config = SCM.config;
      SCM.config = _.once(function(data){
         config(data);
         ko.applyBindings(SCM,$('#skin').get(0));
         setTimeout(function(){
            $('#contentW,#playerW,#playlistW').each(function(){
               ko.applyBindings(SCM,this);
               $(this).mousedown(function(){
                  return false;
               });
            });
         },200);
      });

      while(SCMQueue.length > 0)
         (new Function('SCM,Song',SCMQueue.shift()))(SCM,Song);
      window.SCM = SCM;
      window.Song = Song;

      var resize = function(){
         $('#content').height($('#contentW').height());
      }
      $(window).resize(_.throttle(resize,100));
      resize();
   });
</script>
</body>
</html>

Après avoir validé la création de la page, vous allez chercher son nom dans la liste. Il devrait s'agir de la dernière page créée (première dans la liste), et pour moi par exemple, c'est la page https://ceseravotrenomdeforumici.forumactif.com/h4-test-scm-music-player. On copie ce nom dans un coin.
Ensuite, deuxième étape, on va modifier l'ancien script par celui-ci :

Code:
<!-- SCM Music Player https://www.scmplayer.net -->
<script type="text/javascript">
(function() {
    var hasFrame = window.parent != window,
        config = "{'skin':'https://static.tumblr.com/83zgfej/c83m2c7qy/skin19.css','volume':100,'autoplay':true,'shuffle':false,'repeat':1,'placement':'top','showplaylist':false,'playlist':[{'title':'Ambiance','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'}]}",
        head = document.getElementsByTagName("head")[0],
        dest = location.href.replace(/scmplayer\=true/g, 'scmplayer=false'),
        destHost = dest.substr(0, dest.indexOf('/', 10)),
        scm = 'https://ceseravotrenomdeforumici.forumactif.com/h4-' + '#' + dest,
        scmHost = scm.substr(0, scm.indexOf('/', 10)),
        isOutside = !hasFrame || location.href.indexOf("scmplayer=true") > 0,
        postMessage = function(msg) {
            return window.top.document.getElementById('scmframe').contentWindow.postMessage(msg, scmHost);
        },
        postFactory = function(obj, keys) {
            var keys = keys.split(','),
                post = function(key) {
                    return function(arg) {
                        var argStr = '';
                        if (typeof(arg) != 'undefined')
                            argStr = (key.match(/(play|queue)/) ? 'new Song(' : '(') +
                            JSON.stringify(arg) + ')';
                        postMessage('SCM.' + key + '(' + argStr + ')');
                    }
                };
            for (var i = 0; i < keys.length; i++) {
                var key = keys[i];
                obj[key] = post(key);
            }
        },
        postConfig = function(config) {
            if (!isOutside)
                postMessage('SCM.config(' + config + ')');
        },
        addEvent = function(elm, evType, fn) {
            if (elm.addEventListener) {
                elm.addEventListener(evType, fn);
         }
            else if (elm.attachEvent) {
                elm.attachEvent('on' + evType, fn);
         }
            else {
                elm['on' + evType] = fn;
         }
        },
        isIE = (function() {
            var undef, v = 3,
                div = document.createElement('div'),
                all = div.getElementsByTagName('i');
            while (div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', all[0]);
            return v > 4 ? v : undef;
        })(),
        isMobile = navigator.userAgent.match(/iPad|iPhone|Android|Blackberry/i),
        isIPad = navigator.userAgent.match(/iPad/i),
        init = function() {
            if (!document.body) {
                setTimeout(init, 10);
                return;
            }
            if (isOutside) outside();
            else inside();
        },
        outside = function() {
            var css = 'html,body{overflow:hidden;} body{margin:0;padding:0;border:0;} img,a,embed,object,div,address,table,iframe,p,span,form,header,section,footer{ display:none;border:0;margin:0;padding:0; }  #tumblr_controls{display:none;} #scmframe{display:block; background-color:transparent; position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:1667;} ';
            var style = document.createElement('style');
            style.type = 'text/css';
            style.id = 'scmcss';
            if (style.styleSheet) style.styleSheet.cssText = css;
            else style.appendChild(document.createTextNode(css));
            head.appendChild(style);
            var scmframe = document.createElement('iframe');
            scmframe.frameBorder = 0;
            scmframe.id = "scmframe";
            scmframe.allowTransparency = true;
            scmframe.src = scm;
            document.body.insertBefore(scmframe, document.body.firstChild);
            var resize = function() {
                scmframe.style.height = (function() {
                    if (typeof(window.innerHeight) == 'number')
                        return window.innerHeight;
                    else if (document.documentElement && document.documentElement.clientHeight)
                        return document.documentElement.clientHeight;
                    else if (document.body && document.body.clientHeight)
                        return document.body.clientHeight;
                })();
            };
            addEvent(window, 'load', function() {
                setTimeout(function() {
                    while (document.body.firstChild != scmframe)
                        document.body.removeChild(document.body.firstChild);
                    while (document.body.lastChild != scmframe)
                        document.body.removeChild(document.body.lastChild);
                    resize();
                }, 0);
            });
            addEvent(window, 'resize', resize);
            var getPath = function() {
                    return location.href.replace(/#.*/, '');
                },
                path = getPath(),
                hash = location.hash;
            setInterval(function() {
                if (getPath() != path) {
                    path = getPath();
                    window.scminside.location.replace(path);
                }
                if (location.hash != hash) {
                    hash = location.hash;
                    window.scminside.location.hash = hash;
                }
            }, 100);
        },
        inside = function() {
            window.top.document.title = document.title;
            var filter = function(host) {
                host = host.replace(/blogspot.[a-z.]*/i, 'blogspot.com');
                host = host.replace(/^(http(s)?:\/\/)?(www.)?/i, '');
                return host;
            };
            addEvent(document.body, 'click', function(e) {
                var tar = e.target;
                while (!tar.tagName.match(/^(a|area)$/i) && tar != document.body)
                    tar = tar.parentNode;
                if (tar.tagName.match(/^(a|area)$/i) && !tar.href.match(/.(jpg|png)$/i) && !tar.href.match(/^javascript:/)) {
                    if (tar.href.indexOf('#') == 0) {
                        if (tar.href != "#") {
                            window.top.scminside = window;
                            window.top.location.hash = location.hash;
                            e.preventDefault();
                        }
                    } else if (tar.title.match(/^(SCM:|\[SCM\])/i)) {
                        var title = tar.title.replace(/^(SCM:|\[SCM\])( )?/i, '');
                        var url = tar.href;
                        SCM.play({
                            title: title,
                            url: url
                        });
                        e.preventDefault();
                    } else if (tar.href.match(/\.css$/)) {
                        window.open('http://scmplayer.net/#skin=' + tar.href, '_blank');
                        window.focus();
                        e.preventDefault();
                    } else if (filter(tar.href).indexOf(filter(location.host)) == -1) {
                        if (tar.href.match(/^http(s)?/)) {
                            window.open(tar.href, '_blank');
                            window.focus();
                            e.preventDefault();
                        }
                    } else if (history.pushState) {
                        var url = filter(tar.href).replace(filter(destHost), '');
                        window.top.scminside = window;
                        window.top.history.pushState(null, null, url);
                        e.preventDefault();
                    }
                }
            });
        };
    var SCM = Object();
    postFactory(SCM, 'queue,play,pause,next,previous,volume,skin,placement,' +
        'loadPlaylist,repeatMode,isShuffle,showPlaylist,' +
        'togglePlaylist,toggleShuffle,changeRepeatMode');
    if (window.SCM && window.SCMMusicPlayer) return;
    if (!isMobile) {
        init();
    }
    if (config) postConfig(config);
    SCM.init = postConfig;
    window.SCMMusicPlayer = window.SCMMusicPlayer || SCM;
    window.SCM = window.SCM || SCM;
})();
</script>
<!-- SCM Music Player script end -->

Et dans ce script, vous allez modifier une dernière chose, la ligne suivante :
Code:
scm = 'https://ceseravotrenomdeforumici.forumactif.com/h4-' + '#' + dest,

Cette ligne, c'est l'adresse qui permet au script de créer l'iframe (1). En mettant https://ceseravotrenomdeforumici.forumactif.com/h4-, on fait donc en sorte de rester sur votre site plutôt que d'aller sur https://www.scmplayer.net/ ... et c'est de cette façon que non seulement, le script va marcher, mais en plus, il ne devrait pas déranger quand vous vous rendrez ensuite sur la page login.

C'était assez compliqué à faire, il faut être précis quand vous le mettrez en place... mais normalement, ça doit passer, c'est testé et validé sur mon forum test en tout cas !
Toryudo

Toryudo
****

Masculin
Messages : 375
Inscrit(e) le : 31/03/2020

Voir le profil de l'utilisateur https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script SCM music player ne fonctionne pas

Message par Kaehlyth Mar 24 Mai 2022 - 23:33

Ouah. Shocked

Je reste sans voix.
Parce que de 1, ça fonctionne.
De 2, on est passé de quelques lignes à une manipulation gigantesque !

Je respecte du coup votre travail et je vous respecte tous les deux car c'est un script compliqué, je ne comprends rien à ce qui est écrit MAIS je comprends parfaitement vos explications !

J'ai une dernière question avant de vous libérer : si je décide de rajouter une musique sur le site SCM, ainsi que de changer son apparence, comment puis-je faire avec votre code sans casser votre travail ?

J'ai trouvé la ligne CSS.
J'ai trouvé la ligne musique :
Code:
{'title':'Ambiance','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'}
mais si jamais je rajoute un titre à ma playlist, comment dois-je écrire le code ? Dois-je répéter "indéfiniment" cette ligne dans : 'playlist':
Code:
 'playlist':[{'title':'Ambiance','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'}
{'title':'TEST 2','url':'INSERER URL'}]


En tout cas merci, je respecte tellement les codeurs que ça donne envie d'en devenir ! Angel

EDIT : 09h50 : Il se trouve que bien que tout fonctionne impec, je me retrouve devant un "bug" dirais-je ! Imaginons que je clique sur l'accueil une fois pour revenir en arrière, je retourne sur ma page d'accueil. Mais si je reclique dessus, je ne peux pas. Cela arrive aussi si je clique sur "éditer un post", je ne peux pas re-cliquer sur éditer juste après.

J'imagine que c'est du au fait qu'on charge une HTML.
Car sachez le; votre code permet d'avoir de la musique SANS COUPURE !!! Razz
>>> Sans coupure... même dans le panneau d'administration ! C'est génial. Mais voilà, il y a un petit inconvénient sur les "clics".
Kaehlyth

Kaehlyth
***

Messages : 147
Inscrit(e) le : 27/04/2022

Voir le profil de l'utilisateur https://albastrya.bbactif.com/
Kaehlyth a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Script SCM music player ne fonctionne pas

Message par Toryudo Mer 25 Mai 2022 - 15:40

Bonjour,
Ce que je vais vous conseiller pour tout ce qui est config, c'est de passer par le site https://www.scmplayer.net/ à chaque fois. Vous entrez les informations que vous souhaitez, et à la fin, quand il vous donne le code correspondant, vous copiez la partie data-config :

Code:
<!-- SCM Music Player https://www.scmplayer.net -->
<script type="text/javascript" src="https://www.scmplayer.net/script.js"
data-config="{'skin':'https://static.tumblr.com/83zgfej/c83m2c7qy/skin19.css','volume':100,'autoplay':true,'shuffle':false,'repeat':1,'placement':'top','showplaylist':false,'playlist':[{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'},{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'},{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'}]}" ></script>
<!-- SCM Music Player script end -->

"{'skin':'https://static.tumblr.com/83zgfej/c83m2c7qy/skin19.css','volume':100,'autoplay':true,'shuffle':false,'repeat':1,'placement':'top','showplaylist':false,'playlist':[{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'},{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'},{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'}]}"

Et ce contenu, vous le copiez au niveau de la ligne "config =" du script dans le template (sans oublier la virgule à la toute fin de la ligne) :

Code:
config = "{'skin':'https://static.tumblr.com/83zgfej/c83m2c7qy/skin19.css','volume':100,'autoplay':true,'shuffle':false,'repeat':1,'placement':'top','showplaylist':false,'playlist':[{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'},{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'},{'title':'','url':'https://www.youtube.com/watch?v=tEZr-7qk_4k'}]}",

Comme ça, aucune chance de se tromper !
Par contre, pour le problème que vous soulevez, je ne suis pas sûr de pouvoir faire quoi que ce soit : les scripts rechargent la page à partir du moment où l'url change... Si vous cliquez sur un lien qui a une url identique à la page actuelle, les scripts ne détectent rien, donc ne font rien. J'ai peur de vous rajouter des bugs si je touche encore plus en profondeur (et ça, ce serait dans le cas où j'arrive à trifouiller quelque chose)...
Toryudo

Toryudo
****

Masculin
Messages : 375
Inscrit(e) le : 31/03/2020

Voir le profil de l'utilisateur https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script SCM music player ne fonctionne pas

Message par Kaehlyth Mer 25 Mai 2022 - 15:50

Vous avez parfaitement raison. J'ai tenu informé mes membres qui jouaient avec la bannière defilante en changeant l'URL que c'était fini, qu'il fallait passer à autre chose. Ils ont allumé un feu funéraire haha.

Merci de votre aide à tous les deux, je classe l'affaire et espère que ça aidera aussi d'autres personnes !☺
Kaehlyth

Kaehlyth
***

Messages : 147
Inscrit(e) le : 27/04/2022

Voir le profil de l'utilisateur https://albastrya.bbactif.com/
Kaehlyth a été remercié(e) par l'auteur de ce sujet.

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

- Sujets similaires

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