Несколько javascript на одной странице
Конфликт скриптов на одной странице. Как разрешить?
На одной странице имеется код 9 скриптов. По отдельности работают. Все вместе — нет.
Понятно, что проблема из-за повторяющихся функций и переменных.
Собственно вопрос: существует ли способ "изоляции" скриптов, чтобы не уникализировать переменные. То есть как сделать так чтобы 9 похожих скриптов работали автономно и не мешали работе других?
зы. попробовал в (function(){...})() заключить. не заработало, а может как-то не правильно сделал
из девяти 4 работают одновременно, а 5 — нет
открыл код 5 не работающих и пока не знаю что и менять
как определить чему классы дописать
и что такое ООП?
в двух словах не объяснить, советую погуглить.и что такое ООП?
" Вместо инициализации через свойство window.onload использовать создание обработчика на само событие, в этом случае переопределения не будут, и оба скрипта будут специализироваться.
Например, пусть у нас будет простой вариант кроссбраузерной функции, которая вешает эти обработчики:
function addListener(obj, type, listener) {
if (obj.addEventListener) {
obj.addEventListener(type, listener, false);
return true;
} else if(obj.attachEvent) {
obj.attachEvent('on' + type, listener);
return true;
}
return false;
}
Тогда оба скрипта можно инициализировать таким образом:
addListener(window, 'load', function() {
// инициализация первого скрипта
});
addListener(window, 'load', function() {
// инициализация второго скрипта
});
ооп, конечно, хорошо. но вдруг есть "хитрый способ"
зы. просите код показать? мне что сюда скинуть 9 кодов?😊за которые мне программисты зарядили 10к, но я не повелся и сам забацал. неа =)
зы. просите код показать? мне что сюда скинуть 9 кодов? за которые мне программисты зарядили 10к, но я не повелся и сам забацал. неа =)
если оценочная стоимость в 10К реально, то думаю у вас там не одна проблема, учитывая:
ипока нет. в джава не силен. начал разбираться утром =)
зы. просите код показать? мне что сюда скинуть 9 кодов? за которые мне программисты зарядили 10к, но я не повелся и сам забацал. неа =)
без обид, но если хотите что бы кто-либо помог, то подробно расписывайте проблему и приводите примеры.
исполнение скрипта по нажатию кнопки.
кажется, переменные начинают переназначаться или как это называется...
то есть после нажатия исполнить в силу множества одинаковых функции и переменных, получается каша и скрипт не исполняется
проблема подробно:
несколько скриптов, 9 штук.
в зависимости от значений, которые вводит юзер, выдают результаты расчетов.
типа: модель телефона+марка+поломка=сумма за ремонт. то есть ничего заоблачного.
скрипты автономно функционируют исправно.
после вывода через {ФАЙЛ=тут скрипт+форма вывода.php} на одной странице в статью перестают работать 5 из 9ти скриптов.
я предполагаю, что конфликт или ошибка (не знаю как правильно называть) происходит из за того, что одновременно на странице появляются одинаковые переменные и функции, то есть каша из скриптов
вопрос: как "изолировать" каждый скрипт, чтобы переменные и функции не перемешивались?
Uncaught TypeError: Cannot read property 'value' of undefined
usage
onclick
сама функция function usage()
onclick="usage()"
есть совпадения в коде скриптов
профессионалы отзовитесь *рудз*! неужели нет способа запустить 9 похожих скриптов на одной странице, чтобы переменные и функции не перемешивались (не переназначались)???
Означает что невозможно получить значение, если вы в функции usage используете значение какого либо инпута и вешаете ее на клик той же кнопки, то вам следует так же передавать значение этого поля, либо явно получать из самой функции.
Я еще раз повторю, что гадать что вы там намудрили виртуально это просто впустую потраченное время. Я же к сожалению способностями телепатии не обладаю)
сейчас еще немного почитаю, всмотрюсь и точно буду знать, что конкретно у меня не получается, что спрашивать
пока имею 9 скриптов, которые вывел на станицу и некоторые из них перестали работать. то есть формы для ввода значений отображаются где надо, но скрипты отказываются работать
сейчас попробую перенести все скрипты в один файл, и либо создам обработчик на сами события, например, при помощи функции, которая вешает эти обработчики:
function addListener(obj, type, listener) { if (obj.addEventListener) { obj.addEventListener(type, listener, false); return true; } else if(obj.attachEvent) { obj.attachEvent('on' + type, listener); return true; } return false; }
addListener(window, 'load', function() { // инициализация первого скрипта }); addListener(window, 'load', function() { // инициализация второго скрипта });
зы. кажется что не туда капаю(
, я пока еще ничего не намудрил. думаю как оформить, чтобы "локализировать" (изолировать) каждый скрипт на странице
А использовать локальные переменные вместо глобальных религия не позволяет? Дорогой друг, не в обиду будь сказано, вы стали программировать, не усвоив самых основ… естественно, напоролись на неожиданное (для вас) переприсвоение значений переменных… А потом устраиваете вопли (еще раз, без обид), призывая профессионалов, хотя там школьник справится… ну нельзя так. Садитесь-ка за учебники.чтобы переменные и функции не перемешивались (не переназначались)???
Означает что невозможно получить значение, если вы в функции usage используете значение какого либо инпута и вешаете ее на клик той же кнопки, то вам следует так же передавать значение этого поля, либо явно получать из самой функции.
инпуты получают значение из той же функции
Вы правы. Читать про локальные и глобальные переменные? Решение озвученное в сообщении #12 не трогать? Есть проще решение?Садитесь-ка за учебники.