2012-11-24 12 views
5

mogę otworzyć okno dialogowe, jak to w jQuery:jQuery Pozycjonowanie Wymaga <! DOCTYPE HTML>

position: { 
    of: $("#Parent"), 
    my: "left top", 
    at: "left top" 
} 

Działa to dobrze w FF, ale w IE9 działa tylko wtedy, gdy doctype jest ustawiony na <!DOCTYPE HTML> a nie inna tak jak poniżej:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

Wygląda na to, że wszystkie inne doctpy umieściły IE w trybie dziwactwa.

Problem polega na tym, że użycie <!DOCTYPE HTML> powoduje przeniesienie ActiveWidgets; siatka nie będzie wyświetlana w żadnej przeglądarce.

Czy mogę pozycjonować jQuery bez <!DOCTYPE HTML> w IE? Czy mogę sprawić, by ActiveWidget działały z tym zalecanym DOCTYPE?


Dzięki za odpowiedzi

po spędzeniu pewnego dnia zastąpić ActiveWidgets siatkę przez jqwidgets, ale w końcu nie podoba się wynik. Używam szablonów PHP do generowania dynamicznych siatki z plików tekstowych ini.

Skończyłem na dzieleniu mojego dokumentu na 2 elementy pływające. Jedno z okien dialogowych i innych z siatką

taki sposób, że nie można przenieść dialogi poza ramy ale działa

to wielka społeczność, która bardzo mi pomogła projektowanie Great site Intranet dzięki

+0

Czy uruchomiłeś stronę za pomocą walidatora w3c, aby mieć pewność, że nie masz gdzieś uszkodzonych tagów? Czym są "ActiveWidgets"? – charlietfl

+5

Wygląda na to, że masz jakiś kod, który zależy od trybu standardów, a ActiveWidget jako biblioteka strony trzeciej, która zależy od trybu Quirks.Nie możesz mieć obu trybów aktywnych w tym samym dokumencie, więc odpowiednia akcja polega na zastąpieniu ActiveWidgets czymś, co jest rozsądnie zaprojektowane zamiast bycia nieprofesjonalnym bałaganem. (W oparciu o opis ActiveWidgets - zastąp go YUI, jQuery UI lub Dojo) – Quentin

Odpowiedz

0

Można wymusić MSIE do najnowszej dostępnej wersji przy użyciu tej meta tag w twojej głowie>:

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
2

tldr; używać poprawny/uznane DOCTYPE celu zapewnienia trybie bez dziwactw

HTML4 DOCTYPE przejściowy listed in the W3C informational referenceobejmuje DTD URI:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

Per aukcji tryb matrycy w artykule Quirks mode wikipedia <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> (bez identyfikatora systemu) będzie umieścić IE8 + w trybie Dziwactwa. Ups.

(Zauważ, że nawet z przejściowym identyfikatora systemu, nadal jest w niemal standardów tryb! Najlepsza go użyć Strict DTD i/lub DOCTYPE HTML5 tak, że ostatnie przeglądarek będzie działać w trybie standardowym).

Zobacz komentarz Quentina dotyczący niektórych rozwiązań - po poprawieniu DOCTYPE w celu zapewnienia trybu Normy/standardy.

+0

Dzięki za answaers – Ben