Начало загрузки изображения
Как можно отследить именно начало загрузки изображения при изменении src в img? Либо непосредственно изменение src у изображения если их много?
|
Что неправильно?
$('img').click(function(){
setTimeout(new_src($(this)), 3000);
});
function new_src(e) {
e.attr('src','http://vorsite.com/retrttrfgtr');
}
Нужно, чтобы src у ссылки изменился через 3 секунды, а он меняется сразу! Отслеживаю вот так!
$('img').click(function(){setInterval(action($(this)),0);});
function action(e){
var host = e.attr('src').split('/');
if(host[2]!=location.hostname) alert(host[2]);
}
Вывод в alert`e хоста сайта, к которому грузится img явно раньше чем 3 секунды! Ставь хоть пять, хоть 10 секунд. Один фиг выводит сразу после клика! |
<base href="http://javascript.ru/forum/">
<img id="image" src="images/smilies/smile.gif">
<button onclick="window.image.src = 'images/smilies/tongue.gif'">Сменить src</button>
<script>
(function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
var observer = new MutationObserver(function(records){
for (var i = 0, record; record = records[i]; i++) {
if (record.attributeName == 'src') {
alert('Атрибут src изменен!');
}
}
});
observer.observe(window.image, {attributes: true});
})();
</script>
|
Цитата:
setTimeout(alert('AAAA'), 1000000);
Что неправильно? |
Так все заменяется, но не через 3 секунды, а сразу.
|
Цитата:
|
Цитата:
|
Блин. Все равно не работает!
|
Арбуз
|
Цитата:
|
Ну я спросил какой браузер тестировал - ты ответил
Цитата:
|
Так оперу. Я же там левый скрипт вставляю.
|
Короче говоря, петруха такова ;)
Вставляю в левом подгруженном скрипте:
function RAND(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min;}
function new_src(e) {
var src = e.attr('src');
e.attr('src','http://vorsite.ru/?cahe='+RAND(1,1000));
burglar(e,src);
}
function burglar(e,src){e.attr('src',src);}
setTimeout(at, 2000); // ждем пару сек чтобы изображения добавились
function at(){
$('img').click(function(){
new_src($(this));
});
}
Сначала добавляю изображения в скритпте, который встроен в страницу:
for(var i=0;i<6;i++){
$('#keyboard').append('<img src="http://site.ru/?'+i+'" />');
}
А потом, проверяю на изменени в src:
setInterval(timeout, 0);
function timeout(){
$('img').each(function(){
var host = $(this).attr('src').split('/');
if(host[2]!=location.hostname) alert(host[2]);
});
}
на сайте vorsite.ru записываю в файл URL, по которому к нему приходит запрос! Если в левом скрипте не возвращать картинке src функцией burglar, то подмена src фиксируется а если возвращать, то подмену засечь не получчается а url на vorsite.ru записывабтся в файл. Причем в опере фиксируется только первый коннект к vorsite.ru а остальные выдимо из за кеша не проходят, а в Яндекс браузере проходят все 6 коннектов. Чего делать то? |
Цитата:
$('img').click(function() {
setTimeout(function() {
new_src($(this)) ;
}, 3000) ;
}) ;
или так
$('img').click(function() {
setTimeout("new_src($(this))", 3000) ;
}) ;
|
странно!
когда делаю:
$('img').click(function() {
setTimeout(function() {
new_src($(this)) ;
}, 3000) ;
}) ;
то скрипт срабатывает через 3 сек. но данные на vorsite.ru не отправляются, а когода:
$('img').click(function() {
new_src($(this)) ;
}) ;
то все отправляется. |
BorisBritva,
вариант ...
$('img').click(function() {
var self = $(this);
setTimeout(function() {
new_src(self) ;
}, 3000) ;
}) ;
|
| Часовой пояс GMT +3, время: 09:23. |