<script>
var val=0;
jQuery(document).ready(function($) {
$('#pr_select_geo').on('click', function() {
$(this).addClass('act');
var geoSuccess = function(position) {
getWeather(JSON.stringify(dfs_xy_conv('toXY', position.coords.latitude, position.coords.longitude)));
};
var geoError = function(error) {
$('#pr_select_geo').removeClass('act');
selLocation();
};
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(geoSuccess, geoError, {timeout: 5000});
} else {
$('#pr_select_geo').removeClass('act');
selLocation();
};
});
$('.txt_desc').on('mouseenter mouseleave click', function(e) {
if (e.type === 'mouseenter') {
$(this).html($(this).data('msg')).css('color', '#0092ff');
}
else if (e.type === 'mouseleave') {
$(this).html($(this).data('loc')).css('color', '');
}
else {
selLocation();
}
});
$('.dust_type0').on('click', function() {
$('.aqi_detail').slideToggle(400);
});
$('#pr_select_close').on('click', function() {
$('.pr_select_region').hide();
$('.pr_dsp_weather').fadeIn(1500);
});
$('#pr_select_pre').on('click', function() {
var rgncd = $(this).data('rgncd').toString();
getWeather(rgncd);
if(rgncd.length == 1) {
$('#pr_select_pre').hide();
} else if(rgncd.length == 2) {
$(this).data('rgncd', '0');
}
});
$('#pr_region_list').on('click', '.pr_rgn_item', function() {
var rgncd = $(this).data('rgncd').toString();
if(rgncd.length == 2) {
$('#pr_select_pre').data('rgncd', '0');
} else if(rgncd.length == 5) {
$('#pr_select_pre').data('rgncd', rgncd.substring(0, 2));
} else if(rgncd.length == 8) {
$('#pr_select_pre').data('rgncd', rgncd.substring(0, 5));
}
$('#pr_select_pre').show();
getWeather(rgncd);
});
var selLocation = function() {
$('.pr_dsp_weather').hide();
$('#pr_select_pre').hide();
$('.pr_select_region').fadeIn('slow');
getWeather('0');
};
function getWeather(rgncd) {
$.ajax({
url: './widgets/pr_weather_v2/getWeather.php',
global: false,
type: 'POST',
dataType: 'json',
data: {
loc: rgncd
},
beforeSend: function() {
$('.pr_spinner').show();
},
success: function(result) {
$('.pr_spinner').hide();
if(result && result.success) {
if(result.type == 'list') {
var rgnList = new Map();
var arrayObj = result.data.split('|');
arrayObj.forEach(function(obj) {
var arrayStr = obj.split(':');
rgnList.set(arrayStr[0], arrayStr[1]);
});
var html = '';
rgnList.forEach(function(val, idx) {
html += '<li class="pr_rgn_item" data-rgncd="'+idx+'">'+val+'</li>';
});
$('#pr_region_list').html(html);
} else if(result.type == 'html') {
if(result.isgeo) {
$('#pr_select_geo').removeClass('act').addClass('on');
}
else {
$('#pr_select_geo').removeClass('on');
};
$('#ico_wl').removeClass().addClass('ico_wl').addClass(result.data.weather.class);
$('.txt_weather').html(result.data.weather.txt);
$('.txt_temp').html(result.data.weather.temp+'<span class="txt_unit">℃</span>');
$('.txt_desc').html(result.region+', '+result.data.weather.time+' 현재').data('loc', result.region+', '+result.data.weather.time+' 현재');
$('.humidity_type0').html(result.data.weather.humidity);
$('.wind_type0').html(result.data.weather.wind);
$('.dust_type0').html(result.data.aqi.level).css('color', result.data.aqi.bgcolor);
$('.aqi_detail').css('background-color', result.data.aqi.bgcolor).css('color', result.data.aqi.color);
$('.aqi_detail .data_provide a').css('color', result.data.aqi.color);
$('.aqi_detail dt').html('<span>미세먼지</span>'+result.data.aqi.pm10+' ㎍/㎥<br/><span>초미세먼지</span>'+result.data.aqi.pm25+' ㎍/㎥');
$('.aqi_detail_time').html(result.data.aqi.time+' 현재, ');
$('.pr_select_region').hide();
$('.pr_dsp_weather').fadeIn(1500);
$('#pr_select_pre').data('rgncd', '0');
}
}
else {
$('#pr_select_geo').removeClass('act');
$('.txt_desc').html(result.emsg).data('loc', result.emsg);
}
},
error: function(result) {
$('#pr_select_geo').removeClass('act');
console.log(result.responseText);
},
});
}
<[email protected]($widget_info->trace)-->
$('#pr_select_geo').trigger('click');
<[email protected]($widget_info->req_load)-->
getWeather('Load');
<[email protected]>
});
</script>
정확히 말하면 날씨 위젯입니다.
비로그인 시 슈퍼캐시가 작동되어 빠르게 웹페이지 이용이 가능합니다. 그런데 날씨 위젯에서 날씨 갱신 후 슈퍼캐시도 함께 갱신이 필요해서 혹시 저 스크립트 속에 슈퍼캐시를 갱신하는 것을 추가해 줄 수 있나요??