Ваша функция load_bk_photo
имеет некоторые проблемы (отсутствие точек с запятой, создание глобальных переменных), попробуйте перейти к следующему:
function load_bk_photo(){
//we can use the `var` keyword once and separate each variable declaration by a comma, then finish all the declarations with a semi-colon
var activeId = '<%=(activeTempStoreId)%>',
redStr_id = "side1",
d = new Date(),
time_temp = d.getTime(),
photoUrl = "photos/merged_" + activeId + "_" + redStr_id+".png?" + time_temp;
alert ("timebbb = " + time_temp );
//you can use one `.css()` function call to do both operations
$('#resizable-img').css({
'background-image' : 'url("' + photoUrl + '")',
display : 'block'
});
}
Вы создавали глобальные переменные, которые необходимы, только если вы изменяетезначения переменных, выходящие за рамки этой функции.
На ваш главный вопрос вы можете установить обработчик событий load
для элемента <iframe>
в качестве функции обратного вызова при загрузке:
$('#MyFrame').on('load', function () {
//The iframe has loaded and you can do what you want, including get the contents of the iframe (server-response)
var response = $(this).contents().find('body').text();
});
Обязательно установите эту привязку до изменения источника <iframe>
.
Обратите внимание, что .on()
является новым в jQuery 1.7 и в этом случае совпадает с .bind()
.
.on()
: http://api.jquery.com/on
ОБНОВЛЕНИЕ
Я не знаю asp classic, но если вы выводите что-то вроде storeWidth|storeHeight
в коде aspтогда вы можете получить этот ответ в своем JavaScript и делать с ним что хотите:
$('#MyFrame').on('load', function () {
//The iframe has loaded and you can do what you want, including get the contents of the iframe (server-response)
var response = $(this).contents().find('body').text().split('|');
alert(response[0] + 'x' + response[1] + 'px');
});