この問題はjoomlaでのみ発生します-
私のjoomlaサイトでcontentflowプラグインを使用しようとしています
これはプラグインサイトです http://www.jacksasylum.eu/ContentFlow/
これは私のサイトです- http://2-dweb.com/RND/
あなたが見ることができるようにそれは機能しません-それは永遠にロードフェーズにとどまります
よく見ると、このコードに問題があることがわかります。
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);
}
};
1行目-「Uncaught TypeError:Undefined of property 'nodeName' of undefined」と表示されます
しかし、これは私のデスクトップhtmlファイルで動作し、プラグインサイトでは自己動作します。
なぜ私のjoomlaサイトでは動作しないのですか?それは競合するものではありません-私は非競合を使用していて、私は機能する他のjqueryプラグインを持っています
更新:
rob wは私にこのエラーを助けました:「最初の行をif(this.content && this.content.nodeName == "IMG"){に変更します。これで問題が解決します」
ありましたが、今度は別のエラーが表示されます。
initClick: function () {
var cItem = this.clickItem;
this[this._activeElement].addEvent('click', cItem, false);
},
エラー-キャッチされないTypeError:未定義のメソッド 'addEvent'を呼び出せません
エラーが「キャッチされていないTypeError:未定義のプロパティ 'nodeName'を読み取れません」で説明されているように、スクリプトがアクセスしようとすると、要素は利用できません。これは2つの方法で解決できます。
これを解決しました。
Bootstrap.cssバージョン3.3.7とbootstrap.jsバージョン4.0.0を使用しています。
Bootstrap.jsをバージョン3.3.7に変更すると、問題が解決しました!!!
スクリプトのみをロードしますすべての要素をDOMにロードした後。
このスクリプトは、ページの下部で次のように呼び出す必要があります
<html>
<head></head>
<body>
<!--HTML Elements here-->
<script type="text/javascript" src="yourScript.js"></script>
</body>
</html>
jqueryを使用の場合、document.ready
でラップされていれば、次のようにスクリプトファイルをページの任意の場所に含めることができます。
$(document).ready(function(){
// your code here..
});
class="content"
を使用することが重要です。構造は次のとおりです。
<div class="ContentFlow" id="cover-menu">
<div class="flow">
<div class="item" >
<div class="content">
//your stuff
</div>
</div>
</div>
</div>
このエラーがあった。 bootstrapのすべてのjsとcssを同じバージョンのままにして修正しました。私の場合、それぞれの最新バージョンを使用しました: https://getbootstrap.com/ docs/4.4/getting-started/download /