Каковы наиболее вероятные причины ошибок JavaScript в IE8?

Два операнда (1 и 3) являются целыми числами, поэтому используется целочисленная арифметика (деление здесь). Объявление переменной результата как double просто приводит к возникновению неявного преобразования после деления .

Целочисленное разделение конечно возвращает истинный результат деления, округленный до нуля. Таким образом, результат 0.333... округляется до 0. (Обратите внимание, что процессор фактически не делает никакого округления, но вы можете думать об этом так же).

Также обратите внимание, что если указаны оба операнда (числа) как плавающие; 3.0 и 1.0, или даже только first , то используется арифметика с плавающей запятой, дающая вам 0.333....

20
задан Jon Galloway 11 December 2008 в 16:13
поделиться

3 ответа

Я могу проверить, что те отправленные "unique_username" точны!

(кавычка) На самом деле ТОННА материала изменилась.

Прежде всего, ДЕЙСТВИТЕЛЬНО имеет значение, в каком режиме Вы находитесь. В IE8 существует 3 режима (THREE).

  • Причуды IE5 - Ваша страница не имеет никакого doctype, рендеринг страницы как IE5 сделал
  • IE 7 Режимов Стандартов - Вы имеете doctype, но или выбрали из режима стандартов IE8 или работаете на localhost, или в "Режиме эмуляции"
  • IE 8 Режимов Стандартов - Вы имеете doctype и находитесь на ИНТРАНЕТ (режим по умолчанию)

Теперь, если Вы представляете в режиме IE5/IE7, затем Ничто не изменяется за исключением того, что будет несколько методов, добавил, что не был должен вмешиваться в Вашу страницу.

Однако, если как большинство, Вы работаете с набором doctype, и таким образом в режиме IE8 Standards, следующие изменения произошли.

1.) document.getElementById( id ); //now only returns the CORRECT matches!

2.) <забастовка> .getElementsByName (имя);//теперь только возвращает КОРРЕКТНЫЕ соответствия! нет, не зафиксированный!

3.) .getAttribute( name ); //returns the CORRECT value for the given attribute!
4.) .setAttribute( name, value ); //actually SETS the name/value CORRECTLY (no more cAmElCaSe crud)!
5.) CSS Expressions are NO LONGER allowed (deprecated)
6.) Operation Aborted errors will still be thrown (in some cases) however the cases are fewer, and the error won't kill the entire page/DOM
7.) The attributes[] array on elements should (from the RC build onwards) be correct in terms of contents, have a length, etc.
8.) Button elements now submit the contents of the value attribute, NOT the HTML contents of the Button Tag

также был набор CSS 2.1, фиксирует, таким образом, вещи, которые представленный странным прежде, или необходимые взломы, должны быть намного лучше. (см. ниже для получения дополнительной информации об альфе/прозрачности - были большие изменения)

, Посмотрите Блог IE для деталей.

Также видят веб-Дорожка Ошибки для мелкомодульных деталей об Ошибках, Фиксирует для IE8 (и все другие браузеры)

SVG, скругленные углы, ECMAScript основывал Слушателей События, Лучший дизайн/события Элемента Формы и т.д. все еще отсутствуют.

пз, Если у Вас есть конкретные вопросы, сообщают нам, и мы поможем выследить их для Вас. ;-)

Обновления:

<забастовка> window.resize события в настоящее время повреждаются в Выпуске 1 IE8 Beta2 and IE8 Partner (не будет стрелять) теперь зафиксированный в сборке RTM

window.open(); in IE8 Partner Release is sometimes failing "claiming" that the target url is not available (quirky, hard to reproduce)
13
ответ дан 30 November 2019 в 00:48
поделиться

Вот ДЕЙСТВИТЕЛЬНО забавен один (/сарказм прочь), что я обнаружил. Если у Вас есть тип MIME "приложения/JavaScript", а не Internet Explorer "текста/JavaScript" будет:

A) проигнорируйте неожиданный MIME, вводят и используют файл так или иначе?

B) не загружают файл вообще?

C) проводите первую приблизительно сотню строк файла, предварительно ожидайте их в другой файл JS, который прибывает перед ним в HTML, и затем дайте Вам всем виды ошибок, потому что Ваша неисправная половина файла + фактический файл не работает?

Правильно, ответ является C... Я разыгрываю Вас нет. Мы раньше использовали "приложение/JavaScript" тип MIME для предотвращения кэширования файлов JS в IE6/7, и в результате я потратил впустую весь день, пытаясь выяснить, почему IE8 давал некоторые действительно сумасшедшие ошибки. К счастью я наконец выяснил то, что продолжалось, когда это сказало мне, что у меня была ошибка на строке 650 из 500 файлов строки (и затем когда я просмотрел файл в отладчике, я видел предварительно ожидаемый другой файл).

Мораль истории: если Вы хотите, чтобы IE8 работал, НЕ используют "приложение/JavaScript" для типа MIME Ваших файлов JS.

11
ответ дан 30 November 2019 в 00:48
поделиться

Я нашел несколько списков здесь: http://social.msdn.microsoft.com/forums/en-US/iewebdevelopment/thread/772e4b07-29e1-4909-b77f-f61c503f9579/

я не проверил их, и некоторые из них довольно неопределенны.

2
ответ дан 30 November 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: