Я измеряю ширину и высоту окна и документа с помощью следующих свойств:

//measure the window and document height and width dynamically    
var w = $(window).width();
var h = $(window).height();
var wd = $(document).width();
var hd = $(document).height();

Работает нормально в Firefox, но IE поднимает шум. Есть ли альтернатива этому синтаксису, который работает в IE?
Ошибка JS получена - не удалось получить свойство position. Недопустимый аргумент

0
Rhyso 4 Авг 2010 в 13:46

3 ответа

Лучший ответ

Я только что понял, что за "ошибка" в коде. Firefox может получить ширину и высоту, где бы вы ни разместили свой JavaScript. Но IE может получить эти значения только тогда, когда скрипт находится внутри элемента body. У меня была такая же проблема, и я пытался около часа. Я заметил, что скрипт jsbin находится внутри тела страницы, и переместил мой javascript в тело и ничего себе - он работает в IE :-)

С уважением

1
Patrick 1 Дек 2011 в 09:48

У меня была такая же проблема, и я ее решаю.

Вопрос был связан с тем, что IE находился в режиме Quirks, потому что у меня в начале HTML было несколько недопустимых тегов (я скопировал источник со страницы .aspx и оставил там директиву <% page ..%>.

Когда IE находит какой-то странный тег, он входит в режим причуд, и некоторые вещи работают по-другому.

Когда я удалил странный тег, $ (window) .width (); вещи начинают работать.

Надеюсь, что это поможет кому-то в будущем с той же проблемой. :)

0
tomasofen 26 Окт 2013 в 11:54

Работает для меня как в FF, так и в IE, проверьте себя здесь.

2
Sarfraz 4 Авг 2010 в 09:51