Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   В IE не извлекаются размеры скрытой картинки (https://javascript.ru/forum/events/27680-v-ie-ne-izvlekayutsya-razmery-skrytojj-kartinki.html)

Kolyaj 24.04.2012 16:28

Цитата:

Сообщение от Маэстро
Особенно прикольно, когда предыдущее фото было формата "портрет", а следующее формата "альбом".

Ну а должно быть как? Какое по-вашему должно быть поведение у браузеров?


Цитата:

Сообщение от Маэстро
А еще одна бяка вылезла в последних версиях Google Chrome и, по-моему уже и в Fire Fox: если прописать в img, тот же самый src, что был перед этим, то событие onload не срабатывает вообще. Соответственно нельзя произвести какие-то действия, которые были предусмотрены в обработчике.

Для кода devote не должно быть никакой бяки.

Маэстро 24.04.2012 17:10

Цитата:

Сообщение от Kolyaj (Сообщение 170964)
Ну а должно быть как? Какое по-вашему должно быть поведение у браузеров?

А какой смысл в том, что я тут это распишу? Ни я, ни Вы не повлияем ни на разработчиков Гугл, ни на Оперу... Но на мой взгляд, если путь к картинке указывать прямо в адресной строке браузера, то он должен хотя бы отцентрировать ее по горизонтали и вертикали если она меньше размеров экрана. Это как минимум упростит жизнь программистам, которые делают показ фото как переход по ссылке.

Цитата:

Сообщение от Kolyaj (Сообщение 170964)
Для кода devote не должно быть никакой бяки.

Я только утверждаю, что при присвоении одного и того же src событие img.onload в одних браузерах сработает 2 раза, а во вторых только 1 раз. Последствия зависят от того, что в обработчике.
<script>
var img = new Image();
img.onload = function() {
    alert( [ "width: " + this.width, "height: " + this.height ] );
}

//1  
img.src = "http://javascript.ru/forum/images/smilies/smile.gif";

//2  
img.src = "http://javascript.ru/forum/images/smilies/smile.gif";
  
</script>

Kolyaj 24.04.2012 17:22

В вашем примере src у img не изменяется, ничего странного, что события нет.

Маэстро 24.04.2012 17:37

Цитата:

Сообщение от Kolyaj (Сообщение 170986)
В вашем примере src у img не изменяется, ничего странного, что события нет.

Если src не изменяется, то события нет - согласен с новым веянием. Тогда не странно ли, что в IE8 и Opera11 событие всё же возникает?
Во-вторых, на тех сайтах где по клику по превьюшке изображение скрывалось, а по onload показывалось - это перестало работать в случаях, когда пользователь второй раз подряд клацает по превьюшке (как ни странно, распространенное явление).

Aetae 24.04.2012 18:20

Цитата:

Сообщение от Маэстро (Сообщение 170980)
Но на мой взгляд, если путь к картинке указывать прямо в адресной строке браузера, то он должен хотя бы отцентрировать ее по горизонтали и вертикали если она меньше размеров экрана. Это как минимум упростит жизнь программистам, которые делают показ фото как переход по ссылке.

FF 11 - всё так и происходит.

Цитата:

Сообщение от Маэстро (Сообщение 170993)
Если src не изменяется, то события нет - согласен с новым веянием. Тогда не странно ли, что в IE8 и Opera11 событие всё же возникает?

Осёл и опера - г-но. =)
Цитата:

Сообщение от Маэстро (Сообщение 170993)
Во-вторых, на тех сайтах где по клику по превьюшке изображение скрывалось, а по onload показывалось - это перестало работать в случаях, когда пользователь второй раз подряд клацает по превьюшке (как ни странно, распространенное явление).

За быдлокод надо отвечать.

Вообще вы все задолбали: когда мне надо было писать превьюшку - я вообще не указывал никаках размеров вручную, центрировал всё css'ом и всё прекрасно работало с любыми вариантами.

devote 24.04.2012 18:28

Цитата:

Сообщение от Aetae
FF 11 - всё так и происходит.

в опере тоже все это дело:
Цитата:

Сообщение от Aetae
отцентрировать ее по горизонтали и вертикали если она меньше размеров экрана.

Цитата:

Сообщение от Aetae
Осёл и опера - г-но. =)

вопрос спорный, но если смотреть результаты тестов браузеров.. то по ошибкам все браузеры далеко впереди чем опера. Может опера и не поспевает за всеми с внедрением стандартов, но JS работает лучше чем у других браузеров. http://test262.ecmascript.org/ может опера и говно на ваш взгляд, но далеко не на последнем месте по работоспособности.

Aetae 24.04.2012 18:33

Не будем холиварить. Просто субъективно опера доставила мне в общей сложности даже больше НЕНАВИСТИ чем ие.)

devote 24.04.2012 18:39

Цитата:

Сообщение от Aetae
Просто субъективно опера доставила мне в общей сложности даже больше НЕНАВИСТИ чем ие.)

для каждого свое, тут нет выигравших.. Каждый разработчик имеет свои негативы к тому или иному браузеру. А популярность браузера еще не делает его лучшим. Мне ФФ доставил прилично хлопот в свое время. Но это было пару лет назад. Щас не знаю, может он и лучше стал.

В любом случае нужно ссылаться не на прошлые ошибки а на текущие. А то многие в прошлом получили негатив, а сейчас и понятия не имеют что оно уже на сегодняшний день из себя представляет. И продолжают на старых эмоциях срать по сей день то что срали год/два/три и т.д. лет назад. Нет что бы взять и получить новые эмоции.

Маэстро 24.04.2012 19:32

Aetae, присоединяюсь к Вам насчет Оперы.

Цитата:

Сообщение от devote
В любом случае нужно ссылаться не на прошлые ошибки а на текущие... И продолжают на старых эмоциях...

Понятное дело. Но лично мои эмоции возникают, когда я жду, не дождусь, когда же эти старые ошибки наконец исправят?!
Вот пример в Opera.
<html>
<body>
<script>
var d = document.createElement('DIV')
    d.style.cssText = 'position:absolute; top:0px; left:0px; height:100%; width:200px; background-color:#FFAAAA';

document.body.appendChild(d);
  
</script>
</body>
</html>

-Если Вы выполните этот код в полностью раскрытом браузере на весь экран, а потом нажмете F11 (Full Screan), то розовый прямоугольник не примет 100%-ю высоту.
-Если Вы выполните этот код в не полностью раскрытом браузере, а потом потяните за нижнюю грань окна, то то розовый прямоугольник также не примет 100%-ю высоту.
Это только в Опере.

devote 24.04.2012 19:58

Цитата:

Сообщение от Маэстро
Это только в Опере.

Плохой пример.. это всего лишь разница в том, что Опера делает перерисовку страницы лишь при изменении ширины экрана.. Хотя конечно это можно назвать и Багом, но жизнь он не портит. Не вижу в этом того из-за чего нужно говорить о браузере что он Говно. В каждом браузере своих багов полно, поэтому называть их тогда уж нужно все говном а не только один. Вот если бы браузер прям сплошь и рядом был покрыт багами тогда можно его назвать говном. Мне вот например в ФФ не нравиться то что нельзя сменить ширину поля input с типом file. И тоже висит уже вечность подобный баг, но за это люди не называют же его говном.


Часовой пояс GMT +3, время: 18:22.