У меня возникли трудности с управлением страницей администрирования, где я постоянно получаю "Aw Snap" в Chrome.
У меня есть страница администрирования товаров, на которой вы можете добавлять новые продукты на сайт.
Если пользователь выбирает "футболку" в качестве типа продукта, появляются новые параметры. А именно размер и цвет.
Размер - это только поле множественного выбора, но нажатие кнопки "Добавить цвет" инициализирует теневой блок.
Теневой блок позволяет пользователю вводить имя для цвета и выбирать шестнадцатеричный цвет (через плагин Wheel Color Picker) и загружать репрезентативное изображение (через Uploadify). При представлении Uploaded script загружает файл, а затем по завершении script отправляет другую информацию о цвете в базу данных через JQuery AJAX.
Кнопка отправки Script:
function add_colour_submit(){
$('#admin-add-colour-response').text('Processing...').fadeIn(1000);
$('#admin-add-colour-image').uploadifySettings('scriptData', {
'title': $('#admin-add-colour-title').val(),
'hex': $('#admin-add-colour-hex').val(),
'gender': $('#admin-add-colour-gender').val()
});
$('#admin-add-colour-image').uploadifyUpload();
}
Uploadify 'On Complete':
'onComplete': function (event, ID, fileObj, response, data) {
$("#admin-add-colour-response").fadeTo(200,0.1,function(){
$("#admin-add-colour-response").html('Complete.').fadeTo(900,1,
function()
{
var responseArray = response.split(',');
var id = responseArray[0];
var title = responseArray[1];
var hex = responseArray[2];
var gender = responseArray[3];
parent.get_colour(id, title, hex, gender);
});
});
}
Когда операция AJAX завершена, сообщение обратной связи показывает "Complete".
По истечении этого времени код JQuery программно закрывает теневой блок и на родительской странице создается небольшой div для представления представленного цвета.
Потенциал добавления нескольких с помощью этого метода.
Получить функцию цвета:
function get_colour(id, title, hex, gender){
$('#sb-nav-close').click(); //trigger shadowbox close
//create colour object div
var colourObject = '<div class="colourObject"><div class="colourPreview" style="background:#'+hex+'"></div><div class="colourInfo"> '+title+' / '+gender+'</div><div class="colourRemove"><a href="#" onclick="remove_colour('+id+')">x</a></div</div>'
var currentList = $('#colour-list').html();
$('#colour-list').html(currentList+colourObject);
//re-initialise any shadowbox links in the page
Shadowbox.init({
skipSetup: false
});
Shadowbox.setup();
}
Моя проблема в том, что во время вышеуказанной функции, возможно, во время закрытия shadowbox я получаю Aw Snap в Chrome. Скриншоты цвета div выше были сделаны с использованием Safari, где у меня нет проблем, что бы это ни было.
У меня есть несколько плагинов (теневой код, колесо выбора цвета, uploadify, jquery), поэтому может возникнуть столкновение этих ошибок?
Update.
Мне просто удалось проверить это в нескольких браузерах, и это определенно проблема, связанная только с Chrome.