ce problème n'apparaît que dans joomla -
im essayant d'utiliser le plugin contentflow avec mon site joomla
c'est le site du plugin - http://www.jacksasylum.eu/ContentFlow/
c'est mon site - http://2-dweb.com/RND/
comme vous pouvez le voir, cela ne fonctionne pas - il reste juste pour la phase de chargement pour toujours
en y regardant de plus près, je peux voir qu'il y a un problème avec ce code:
if (this.content.nodeName == "IMG") {
CFobj._imagesToLoad++;
var foobar = function () {
CFobj._imagesToLoad--;
this.image = this.content;
this.setImageFormat(this.image);
if ( CFobj.conf.reflectionHeight > 0) {
this.addReflection();
}
this.initClick();
CFobj._addItemCueProcess(true);
}.bind(this);
if (this.content.complete && this.content.width > 0)
window.setTimeout(foobar, 100);
else if (this.Browser.IE && !this.content.onload) {
var self = this;
var t = window.setInterval( function () {
if (self.content.complete && self.content.width > 0) {
window.clearInterval(t);
foobar();
}
}, 10);
}
else
this.content.onload = window.setTimeout(foobar, 100);
}
else {
this.initClick();
CFobj._addItemCueProcess(true);
}
};
avec la première ligne - il dit "TypeError non capturé: Impossible de lire la propriété 'nodeName' de non défini"
mais cette chose fonctionne sur mon fichier html de bureau et sur le site du plugin lui-même!
pourquoi ça ne marche pas sur mon site joomla? ce n'est pas un conflit - je n'utilise pas de conflit et j'ai d'autres plugins jquery qui fonctionnent
mettre à jour:
rob w m'a aidé avec cette erreur: "Remplacez la première ligne par if (this.content && this.content.nodeName ==" IMG ") {. Cela résout le problème"
et il l'a fait, mais maintenant une autre erreur apparaît:
initClick: function () {
var cItem = this.clickItem;
this[this._activeElement].addEvent('click', cItem, false);
},
l'erreur - UnCaught TypeError: Impossible d'appeler la méthode 'addEvent' de indéfini
Comme l'explique l'erreur "TypeError non capturé: impossible de lire la propriété 'nodeName' de indéfini" L'élément n'est pas disponible lorsque le script essaie d'y accéder. Vous pouvez résoudre ce problème de deux manières.
Résolu cela.
J'utilise la version 3.3.7 de bootstrap.css et la version 4.0.0 de bootstrap.js.
En changeant bootstrap.js en version 3.3.7, mon problème a été résolu !!!
Chargez votre script uniquement après avoir chargé tous les éléments dans DOM.
Votre script doit être appelé en bas de la page comme ceci
<html>
<head></head>
<body>
<!--HTML Elements here-->
<script type="text/javascript" src="yourScript.js"></script>
</body>
</html>
Si vous êtes en utilisant jquery, vous pouvez inclure le fichier de script n'importe où dans votre page s'il est entouré de document.ready
, comme ça:
$(document).ready(function(){
// your code here..
});
Il est important que vous utilisiez class="content"
. La structure devrait être:
<div class="ContentFlow" id="cover-menu">
<div class="flow">
<div class="item" >
<div class="content">
//your stuff
</div>
</div>
</div>
</div>
était avec cette erreur. J'ai fait la correction en laissant tous les js et css du bootstrap avec la même version. Dans mon cas, j'ai utilisé la dernière version de chacun: https://getbootstrap.com/ docs/4.4/mise en route/téléchargement /