не работает меню JavaScript в проводнике 8 (работает нормально в режиме совместимости Chrome и проводника 8) - PullRequest
0 голосов
/ 01 июля 2011

Я создаю шаблон веб-сайта, который вы можете увидеть здесь:

http://davewallace.net/sunschool/template-test.asp

все шло хорошо, пока я не проверил проводник (8) на ПК (я обычно использую Chromeна компьютере)

проблема связана с боковым меню (слева) ...

я заметил, что при нажатии на второй родительский элемент в боковом меню (то есть во время одного сеанса, нажавв одном родительском элементе меню после щелчка по другому) и при каждом щелчке по последующим элементам родительского меню содержимое предыдущего родительского меню, по которому был выполнен щелчок, не исчезает, когда оно должно, вместо этого оставаясь на экране, но перемещаясь вверх, выравниваясь по верхнему родительскому элементу.все отлично работает в Chrome, однако, это только в проводнике.

* обновление!* Я просто провел еще несколько исследований и снова просмотрел страницу в проводнике, работающем в «режиме совместимости», и он работал нормально!поэтому я решил проблему с проводником 8, работающим только в стандартном режиме.

еще одно обновление * благодаря Ibu, я исправил пару(относительно незначительные) ошибки HTML, которые, по ее мнению, могли быть причиной проблемы.к сожалению, это было не так *** Я считаю, что это проблема с JavaScript и, возможно, какое-то столкновение кода между боковым меню и кодом верхнего меню ... Я действительно пытаюсь сделать все возможное, чтобы решить эту проблему, но мне бы очень хотелосьПожалуйста, обратите внимание, что это почти наверняка кодовое столкновение с кодом, используемым для отображения выпадающих меню.Я знаю это, потому что раньше я использовал код бокового меню на отдельном сайте (без другого кода выпадающего меню), и он отлично работает как в Chrome, так и в Explorer.

Я включил ссылку на код ниже -все это довольно хорошо организовано * и, надеюсь, кому-то легко отладить!

http://davewallace.net/stack-overflow/code.zip

javascript бокового меню - css-dropdowns.js, и я подозреваю, что в этом файле есть что-то, что необходимо изменить

* к сожалению, некоторые изкод в этом файле не имеет разрывов строк и может быть трудночитаемым.Я прошу прощения за это.я не написал код:)

все остальные файлы javascript относятся к верхнему меню.

, заранее благодарю вас,

надеюсь, это не слишком сложно!

С наилучшими пожеланиями,

DW

Ответы [ 2 ]

0 голосов
/ 03 июля 2011

Я сам "решил" это !! Yaaay

Хотя я знаю, что это не самое совершенное решение, оно работает, и этого достаточно для меня, учитывая, сколько времени я потратил на это и тот факт, что мне не платят за создание этого сайта!

Я немного удивлен, что никто другой не мог бы предложить это, так или иначе, я разработал это для себя, так что я надеюсь, что получу несколько очков бойскаута:)

Решение было следующим:

Добавил в мою голову следующее:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

Привет, Престо. IE 8 теперь эмулирует IE 7, и проблема устранена.

Конечно, в конечном итоге я знаю, что в коде все еще есть проблема, которая не нравится IE 8, и если кто-нибудь захочет указать мне это, я был бы очень признателен. Но сейчас я счастливый парень. Спасибо @Ibu за вашу помощь в устранении этих ошибок HTML!

0 голосов
/ 01 июля 2011

Хорошо, так как я прошел вашу тестовую страницу, чтобы увидеть, в чем проблема, javascript является наименьшей из проблем:

Неправильный HTML вызовет другие проблемы.

вот чтоя нашел в консоли:

<head> must be a child of <html>. Content ignored. template-test.asp:7
Extra <html> encountered.  Migrating attributes back to the original <html> element and ignoring the tag. template-test.asp:28
<meta> is not allowed inside <div>. Moving <meta> into the <head>. template-test.asp:29
Unmatched </li> encountered.  Ignoring tag. template-test.asp:69

, поэтому исправление этих ошибок, скорее всего, исправит ваши другие ошибки js

...