Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ошибка скрипта this.menu.getElements is not a function (https://javascript.ru/forum/misc/75269-oshibka-skripta-menu-getelements-not-function.html)

Shab_Aleks 18.09.2018 09:18

Ошибка скрипта this.menu.getElements is not a function
 
Здравствуйте! Помогите разобраться:на сайте http://kalachinskzmb.ru после обновления CMS джумлы 3.6.5 до 3.7.5 (модулей, компонентов, плагинов) ошибка this.menu.getElements is not a function, из-за неё приходится часто очищать кэш в браузере. Отключал по очереди модули, плагины чтобы выявить причину - бесполезно. Ставил плагины jQuery Easy и Настройка Joomla(отключение по очереди библиотек) еще больше ошибок в консоли.
В техподдержке сообщили что ошибка в скрипте
this.childopen=[];this.imgloaded=false;this.loaded=false;this.prepare();},prepare:function(){var imgElms=this.menu.getElements('img');if(imgElms.length&&!this.imgloaded){var imgSrcs=[];imgElms.each(function(image){imgSrcs.push(image.src)});new Asset.images(imgSrcs,{onComplete:function(){this.start();}.bind(this)});this.imgloaded=true;this.start.delay(3000,this);}else{this.start();}},start:function(){if(this.loaded){return;}

Как устранить эту ошибку?:cray:

Роман Андреевич 18.09.2018 09:52

Shab_Aleks,
Uncaught TypeError: this.menu.getElements is not a function - смотри скрипт. возможно не правильно используется данная функция, может что не то положил в нее. Смотри исходники

Uncaught SyntaxError: Unexpected token , - смотри запятую где-то

Failed to load resource: the server responded with a status of 404 (Not Found) - по всей видимости запрос вернул 404, смотри что за запрос

и вообще вырезал код свой некорректно, сделай нормально, как положено

Роман Андреевич 18.09.2018 09:55

Shab_Aleks, var imgElms=this.menu.getElements('img'); от куда эта функция берется???

Роман Андреевич 18.09.2018 09:55

this.childopen=[];
this.imgloaded=false;
this.loaded=false;
this.prepare(),
prepare: function(){
	var imgElms=this.menu.getElements('img');

	if(imgElms.length&&!this.imgloaded) {

		var imgSrcs=[];
		imgElms.each(function(image){

			imgSrcs.push(image.src)

		});

		new Asset.images(imgSrcs,{onComplete:function(){

			this.start();}.bind(this)

		});

		this.imgloaded=true;

		this.start.delay(3000,this);

	} else {

		this.start();

	}

},

start:function(){

	if(this.loaded){

		return;

	}
}


Вот так нужно

Роман Андреевич 18.09.2018 09:56

Shab_Aleks, ты выложил какой-то не понятный кусок кода

Роман Андреевич 18.09.2018 09:59

Shab_Aleks,

Failed to load resource: the server responded with a status of 404 (Not Found) - это картинка не загрузилась, неправильно может имя указал или что-то еще.


Часовой пояс GMT +3, время: 20:49.