Метатег находится в начале страницы, а javascript - после jQuery в конце документа. Когда я запускаю код из консоли Chrome, он отлично работает, и sortList устанавливается в [[0,0]]
так же, как я ожидаю, но когда он запускается на странице, я получаю исключение в консоли. Uncaught TypeError: Cannot use 'in' operator to search for 'date' in undefined(anonymous function)
Javascript работает только после загрузки страницы
HTML
<meta data-var="sickbeard.COMING_EPS_SORT" data-content="date">
Javascript
$(document).ready(function(){
if($('meta[data-var="sickbeard.COMING_EPS_LAYOUT"]').data('content') == 'list')
var sortCodes = {'date': 0, 'show': 1, 'network': 4};
var sort = $('meta[data-var="sickbeard.COMING_EPS_SORT"]').data('content');
var sortList = (sort in sortCodes) ? [[sortCodes[sort], 0]] : [[0, 0]];
if($('meta[data-var="sickbeard.COMING_EPS_LAYOUT"]').data('content') == 'banner' || $('meta[data-var="sickbeard.COMING_EPS_LAYOUT"]').data('content') == 'poster')
$('#sbRoot').ajaxEpSearch({'size': 16, 'loadingImage': 'loading16' + themeSpinner + '.gif'});
$('.ep_summary').hide();
$('.ep_summaryTrigger').click(function() {
$(this).next('.ep_summary').slideToggle('normal', function() {
$(this).prev('.ep_summaryTrigger').attr('src', function(i, src) {
return $(this).next('.ep_summary').is(':visible') ? src.replace('plus','minus') : src.replace('minus','plus')
});
});
});
});
, конечно, это работает только после загрузки страницы :) попробуйте 'window.onload = yourFunction;' – webduvet
для получения стабильных результатов, сделать это в jqueery документе готовый блок –
@JaromandaX: Нет, если jQuery находится в конце документа (что говорит OP), нет необходимости в 'ready'. –