Jak dostroić witrynę do Windows xp service Pack 2



Pobieranie 44.18 Kb.
Data07.05.2016
Rozmiar44.18 Kb.

Jak dostroić witrynę do Windows XP Service Pack 2


Microsoft Corporation

lipiec 2004 roku



Dotyczy:
   kontrolki Microsoft ActiveX
   Microsoft Internet Explorer
   Microsoft Outlook Express
   Microsoft Windows XP Service Pack 2 (SP2)

Streszczenie: W artykule opisano, co powinien zrobić autor witryny internetowej, by witryna była prawidłowo wyświetlana na komputerach z dodatkiem Service Pack 2 dla Windows XP. Dodatek ten wprowadza nowe funkcje zabezpieczeń, które wpływają na działanie kontrolek ActiveX, pobieranie plików, wyskakujące okienka itp.
Długość dokumentu po wydrukowaniu — około 7 stron.

Spis treści:


Czy w witrynie stosowane są kontrolki Microsoft ActiveX?
Czy witryna zawiera pliki do pobrania?
Czy w witrynie są stosowane wyskakujące okienka?
Czy do przeglądania witryny potrzebna jest wirtualna maszyna Java firmy Microsoft (MSJVM)?
Ograniczenia wyświetlania okien przeglądarki
Wskazówki ogólne

Czy w witrynie stosowane są kontrolki Microsoft ActiveX?


W Windows XP z dodatkiem Service Pack 2 (SP2), zamiast modalnego okienka z pytaniem o instalację kontrolki ActiveX, pojawi się pasek informacyjny. Istnieje wyjątek od tej reguły — gdy instalowana jest kontrolka, będąca uaktualnieniem kontrolki zainstalowanej już na komputerze i spełnione są następujące warunki:

  • Plik zarejestrowany jako kontrolka ActiveX musi być podpisany przy użyciu technologii Authenticode (plik jest zarejestrowany jako kontrolka, jeśli odwołuje się do niego klucz rejestru HKEY_CLASSES_ROOT\CLSID\{control_clsid}\InProcServer32, gdzie control_clsid to parametr CLSID określany przez znacznik OBJECT).

  • Nazwa wydawcy w cyfrowym podpisie nowej kontrolki musi odpowiadać nazwie wydawcy w cyfrowym podpisie istniejącej kontrolki.

  • Jeśli kontrolka ActiveX znajduje się w pliku CAB, to plik CAB musi być podpisany. Aby przy kolejnych uaktualnieniach pasek informacyjny mógł być pominięty, instalowane pliki DLL i OCX także powinny być podpisane.

Jeśli pasek informacyjny zablokuje instalację kontrolki ActiveX, która ma być wyświetlona na danej stronie, to przeglądarka Internet Explorer zamiast kontrolki wyświetli ikonę i tekst informujący o możliwości instalacji kontrolki. Użytkownik może kliknąć ten obszar lub pasek informacyjny i zainstalować kontrolkę ActiveX.

Czy kontrolka ActiveX jest dystrybuowana w pliku CAB?


Jeśli kontrolka jest dystrybuowana w pliku CAB, to przyszłe aktualizacje tej kontrolki także będą blokowane przez pasek informacyjny, chyba że zostaną podpisane pliki DLL lub OCX, rejestrowane jako kontrolka.

Czy sposób działania witryny jest uzależniony od instalacji kontrolki ActiveX (na przykład w przypadku braku kontrolki następuje automatyczne przekierowanie lub specjalne działanie podczas odświeżania strony)?


Jeśli kontrolka nie zostanie zainstalowana i strona zostanie odświeżona, to niektóre strony automatycznie przekierowują użytkownika lub zmienia się ich sposób działania. W niektórych przypadkach taka konstrukcja witryny może uniemożliwiać użytkownikowi zainstalowanie kontrolki, przez co witryna może być źle odbierana przez użytkownika.

Nie ma możliwości rozpoznania, czy instalacja kontrolki ActiveX została odrzucona przez użytkownika, czy zablokowana przez pasek informacyjny. Dlatego zalecanym rozwiązaniem przy instalowaniu kontrolki ActiveX jest utworzenie instancji kontrolki na osobnej stronie internetowej, na której wyjaśniony jest także cel zastosowania tej kontrolki. Można także skorzystać z sekcji wewnątrz znacznika , której zawartość jest dynamicznie wyświetlana jako komunikat, gdy nie powiedzie się instalacja kontrolki.


Czy w witrynie znajdują się zrzuty ekranowe z okien dialogowych Authenticode?


Aby nie wprowadzać użytkowników w błąd, można wymienić zrzuty ekranowe na nowe, odzwierciedlające nowy interfejs użytkownika Authenticode. Można także wyświetlać odpowiednie ilustracje na podstawie informacji o wersji przeglądarki, zawartych w łańcuchu userAgent (więcej informacji na temat wykrywania SP2 można znaleźć w sekcji Wskazówki ogólne tego dokumentu).

Czy okno dialogowe instalacji kontrolki blokuje instalację kontrolki?


Jeśli okno dialogowe nie umożliwia instalacji kontrolki ActiveX, to prawdopodobnie plik nie został prawidłowo podpisany. Należy upewnić się, że plik został podpisany i że podpis jest poprawny. Domyślnie, gdy podpis kontrolki ActiveX jest niepoprawny, SP2 blokuje jej instalację.

ActiveX — dobre zwyczaje


  • Kontrolki ActiveX nie powinny być instalowane przy użyciu okienek wyskakujących lub okien dialogowych HTML.

  • Nie należy sugerować użytkownikom obniżenia poziomu zabezpieczeń w celu instalacji kontrolek ActiveX.

  • Dobrym zwyczajem jest tworzenie instancji kontrolki ActiveX na osobnej stronie, na której został także opisany cel zastosowania kontrolki oraz funkcjonalność, jaką daje ona użytkownikowi.

Czy witryna zawiera pliki do pobrania?


Po zainstalowaniu dodatku SP2 pasek informacyjny blokuje pobierania plików automatycznie inicjowane przez witrynę.

W Windows XP SP2 zostały zmodyfikowane okna dialogowe obsługi pobierania plików, załączników, uruchamiania aplikacji oraz instalowania aplikacji — zapewniają teraz bardziej spójny interfejs użytkownika niż w Windows XP Service Pack 1. Pliki niektórych typów można podpisywać. Po pobraniu takiego pliku — jeśli jest to plik potencjalnie niebezpieczny — w Windows XP SP2 zostaną wyświetlone informacje o wydawcy tego pliku. Pliki, które mogą być podpisane i mogą być potencjalnie niebezpieczne, to na przykład pliki z rozszerzeniami: .exe, .dll, .ocx, .msi.


Czy w witrynie stosowane jest automatyczne inicjowanie pobierania plików?


Jeśli witryna zainicjuje nawigację do zasobu (nie jest to nawigacja zainicjowana przez użytkownika) i nawigacja ta spowodowałaby wyświetlenie okna pobierania pliku, okno to zostanie zablokowane przez pasek informacyjny.

Aby mieć pewność, że pobieranie plików nie będzie blokowane przez pasek informacyjny, należy zadbać o to, aby pobieranie pliku zawsze było następstwem bezpośredniego działania użytkownika.


Czy w witrynie znajdują się pliki o nazwach, których rozszerzenie nie odpowiada typowi określonemu w nagłówku Content-Type?


Jeśli w witrynie znajdują się pliki otwierane w aplikacjach innych niż przeglądarka, ProgID, zarejestrowany dla rozszerzenia nazwy takiego pliku, powinien odpowiadać ProgID zarejestrowanemu dla typu MIME tego pliku. Jeśli ProgID, wynikający z zawartości nagłówka Content-Type, nie odpowiada ProgID wynikającemu z rozszerzenia nazwy pliku, przeglądarka może podjąć następujące akcje:

  1. przeglądarka wyświetla okno pobierania pliku,

  2. jeśli plik nie może być wykonany przy użyciu aplikacji zarejestrowanej dla danego typu MIME, to przeglądarka blokuje wykonanie tego pliku przy użyciu aplikacji zarejestrowanej dla rozszerzenia nazwy pliku.

Takie rozbieżności można naprawić, zmieniając wartość nagłówka content-type tak, by odpowiadała rozszerzeniu nazwy pliku. Uwaga ta dotyczy również plików stron internetowych.

Wyjątek — opisywana zmiana nie dotyczy przypadków, w których wysyłany jest nagłówek „content-disposition=attachment”. W takich przypadkach zaproponowane przez serwer nazwa i rozszerzenie nazwy uznawane są za ostateczne i nie są zmieniane na podstawie wykrywania MIME (MIME sniffing).


Czy w witrynie zamieszczone są zrzuty ekranowe okna pobierania albo inne ilustracje lub tekst opisujący, gdzie należy kliknąć w celu zaakceptowania pobierania pliku?


Należy uaktualnić wszystkie ilustracje, na których znajdują się okna dialogowe pobierania, by przedstawiały okna wprowadzone przez Windows XP Service Pack 2. Można także wyświetlać użytkownikowi ilustracje ze zrzutami odpowiednich okien, korzystając z informacji o wersji przeglądarki zawartych w łańcuchu userAgent (więcej informacji na temat wykrywania SP2 można znaleźć w sekcji Wskazówki ogólne tego dokumentu).

Czy w witrynie znajdują się pliki do pobrania, które powinny być podpisane cyfrowo?


SP2 sprawdza cyfrowy podpis plików, które mogą być w taki sposób podpisywane. Najczęstsze przykłady takich plików to pliki z rozszerzeniami: .exe, .dll, .cab, .ocx oraz .msi. Użytkownicy mogą teraz sprawdzić, czy pliki podpisane przy użyciu Authenticode rzeczywiście pochodzą od wydawców tych plików. Dotyczy to zarówno programu Internet Explorer jak i Outlook Express.

Czy w witrynie są stosowane wyskakujące okienka?


Dodatek SP2 wprowadza do przeglądarki Internet Explorer funkcję blokowania wyskakujących okienek (domyślnie włączoną). Funkcja ta może uniemożliwiać poprawne działanie witryn, w których generowane są nowe okna za pośrednictwem skryptu. Witryny, w których chcemy zezwolić na automatyczne wyświetlanie wyskakujących okienek, można dodać do listy witryn dozwolonych. Domyślnie nie będzie blokowane wyświetlanie wyskakujących okienek w witrynach znajdujących się w strefach lokalny intranet lub zaufane witryny.

Jakie okna uznawane są przez program Internet Explorer za okna wyskakujące?


Internet Explorer będzie próbował zablokować wszystkie okna otwierane automatycznie ze skryptu, za wyjątkiem okien utworzonych za pomocą funkcji createPopup(). Dotyczy to na przykład okien tworzonych za pomocą następujących funkcji: window.open(), showModelessDialog(), showModalDialog() oraz showHelp(). Uwaga — funkcja blokowania wyskakujących okienek blokuje również automatyczne wyświetlanie stron w pasku Wyszukaj.

Nie są blokowane wyskakujące okienka, otwierane w wyniku bezpośredniego działania użytkownika (np. kliknięcie elementu strony). Przy domyślnych ustawieniach blokowanie wyskakujących okienek nie dotyczy witryn ze stref lokalny intranet oraz zaufane witryny.


W jaki sposób można sprawdzić, czy Internet Explorer zablokował wyskakujące okienko?


Jeśli okno zostanie zablokowane, funkcje zwracające obiekt okna zwracają pustą referencję (null). Należy zawsze sprawdzić wartość zwróconą przez window.open(), aby uniknąć błędów skryptu w przypadku zablokowania okienka przez włączoną funkcję blokowania wyświetlania wyskakujących okienek.

Czy witryna przekierowuje lub zamyka strony w wyniku zablokowania wyskakujących okienek?


Jeśli jest to tylko możliwe, w przypadku zablokowania jakiejś części strony należy unikać zamykania okien lub przekierowywania. Jeśli witryna po zablokowaniu wyskakującego okienka przekieruje użytkownika na inną stronę, to użytkownik może mieć trudności z wyświetleniem zablokowanej treści. Po przekierowaniu strony nie będzie widoczny pasek informacyjny, pozwalający w łatwy sposób uzyskać dostęp do zablokowanych treści.

Podobnie, jeśli okno zostanie zamknięte w wyniku zablokowania wyskakującego okienka, to zostanie także zamknięty pasek informacyjny.


Czy w witrynie jedno wyskakujące okienko jest wywoływane przez inne wyskakujące okienko?


Gdy jest to tylko możliwe, przy uruchamianiu jednego wyskakującego okienka nie należy wywoływać innego wyskakującego okienka. Wywołanie drugiego okienka nie będzie traktowane jako spowodowane akcją użytkownika i zostanie zablokowane.

Czy okno dialogowe setHomePage() jest uruchamiane automatycznie?


W Windows XP Service Pack 2 funkcja setHomePage() może być wykonana tylko w wyniku działania użytkownika, podobnie jak ma to miejsce w przypadku wyskakujących okienek. Okna dialogowe ustawiania strony głównej, uruchamiane automatycznie za pomocą funkcji setHomePage(), będą blokowane.

Czy witryna otwiera nowe okna po przesłaniu informacji w sposób asynchroniczny?


Internet Explorer może zablokować niektóre okna, jeśli witryna otworzy je po zażądaniu informacji w sposób asynchroniczny — nawet jeśli użytkownik kliknął odnośnik, by otworzyć okno. Okna nie są blokowane, jeśli są otwierane w wyniku bezpośredniego działania użytkownika (np. kliknięcie myszą) przed asynchronicznym zażądaniem informacji. Kolejna nawigacja nie jest już traktowana jako akcja inicjowana przez użytkownika.

Czy witryna otwiera wyskakujące okienka za pomocą kontrolek ActiveX lub innych obiektów znajdujących się na stronie?


Tak samo jak ma to miejsce w przypadku innych wyskakujących okienek, jeśli okno nie jest wyświetlane w odpowiedzi na działanie użytkownika, to zostanie zablokowane. W odpowiedzi na bezpośrednie działanie użytkownika może zostać otwarte tylko jedno okno.

Ogólne zalecenia dotyczące wyskakujących okienek


  • Nie należy przekierowywać strony w wyniku nieudanej próby wyświetlenia wyskakującego okienka.

  • Nie należy zamykać ani automatycznie przekierowywać stron w wyniku zablokowania wyskakującego okienka, pobrania pliku lub instalacji kontrolki ActiveX. Jeśli strona zostanie przekierowana, użytkownik nie będzie mógł kliknąć paska informacyjnego i wyświetlić zablokowanego okienka, pobrać zablokowanego pliku lub zainstalować zablokowanej kontrolki ActiveX.

  • Nie należy wyświetlać wyskakującego okienka przy uruchamianiu innego wyskakującego okienka.

  • Nie należy wyświetlać wielu wyskakujących okienek w wyniku pojedynczej akcji użytkownika.

  • Nie należy automatycznie wyświetlać wyskakujących okienek poprzez wywołania funkcji showModelessDialog() oraz showModalDialog().

Czy do przeglądania witryny potrzebna jest wirtualna maszyna Java firmy Microsoft (MSJVM)?


Pomoc techniczna dla wirtualnej maszyny Java — Microsoft Java Virtual Machine Support

Ograniczenia wyświetlania okien przeglądarki

Czy witryna pozycjonuje okna tak, że pasek tytułu, pasek adresu lub pasek stanu znajduje się poza obszarem wyświetlania?


Warto przejrzeć kod swojej witryny pod kątem zgodności z wprowadzonymi ograniczeniami dotyczącymi okien otwieranych przez skrypt przy użyciu metod window.open() oraz window.createPopup(). Metoda window.open() służy do otwierania okien przeglądarki ze standardowym interfejsem użytkownika (chrome), a metoda window.createPopup() pozwala otwierać okna bez standardowych elementów interfejsu użytkownika (chromeless). Projekt może wymagać sprawdzenia, czy wszystkie wyskakujące okienka są widoczne dla użytkownika, a pasek stanu zawiera prawidłowe informacje.

Poniżej znajdują się wytyczne dotyczące pracy z otwieranymi przez skrypt oknami wewnątrz procesu, dla którego włączono ograniczenia okien inicjowanych przez skrypty.

Okna otwierane przy użyciu metody window.open():


  • Należy przyjąć, że pasek stanu będzie widoczny i w związku z tym odpowiednio dostosować kod. Pasek stanu będzie domyślnie włączony i będzie miał 20 – 25 pikseli wysokości.

  • Należy skorygować rozmiar okna oraz dopasować jego zawartość tak, aby była dobrze widoczna. Pasek stanu jest teraz zawsze widoczny i otwierane okno nie może zasłonić paska zadań (w razie potrzeby jest zmniejszane) — obszar przeglądania może więc zostać obcięty o 40 pikseli. Rozmiar pionowy okna należy ustawić tak, by zostało co najmniej 30 pikseli na pasek zadań.

  • Nie należy otwierać okien poza widocznym obszarem pulpitu — okna zostaną automatycznie przesunięte wzdłuż osi XY o najmniejsze odcinki umożliwiające wyświetlenie ich na ekranie.

  • Tak jak dotychczas, na wygląd okna będzie wpływać kompozycja pulpitu, wielkość czcionki, rozdzielczość. Należy wziąć to pod uwagę przy projektowaniu okien.

  • Uwaga — wywołanie metody window.open() z parametrem fullscreen=yes spowoduje teraz otwarcie okna zmaksymalizowanego, a nie okna w trybie pełnoekranowym (kiosk).

Okna otwierane przy użyciu metody window.createPopup():

  • Należy skorygować rozmiar okna oraz dopasować jego zawartość tak, aby była dobrze widoczna. Wprowadzone ograniczenia powodują, że okno nie może teraz zasłonić paska stanu oraz paska tytułu okna-rodzica, może więc być zmniejszone o 40 pikseli. Pionowy rozmiar otwieranego okna nie powinien przekraczać rozmiaru obszaru przeglądania okna nadrzędnego.

  • Nie należy otwierać okien chromeless poza obszarem wyświetlania przeglądarki Internet Explorer — okna zostaną automatycznie przesunięte o najmniejszą odległość umożliwiającą wyświetlenie ich w obszarze okna-rodzica. Istnieje jeden wyjątek — poza prawy lub lewy brzeg obszaru przeglądarki Internet Explorer może wystawać nie więcej niż połowa otwieranego okna.

  • Tak jak dotychczas, na wygląd okna będzie wpływać kompozycja pulpitu, wielkość czcionki, rozdzielczość. Należy wziąć to pod uwagę przy projektowaniu okien.

Wskazówki ogólne

Sprawdzenie, czy użytkownik korzysta z przeglądarki Internet Explorer w systemie WinXP SP2


Aby sprawdzić, czy przeglądarką wyświetlającą strony witryny jest program Internet Explorer, pracujący w systemie Windows XP z dodatkiem SP2, można użyć metody window.navigator.userAgent.

var g_fIsSP2 = false;

function browserVersion()

{

g_fIsSP2 = (window.navigator.userAgent.indexOf("SV1") != -1);



if (g_fIsSP2)

{

//Ta przeglądarka to Internet Explorer w SP2



}

else


{

//Ta przeglądarka to nie Internet Explorer w SP2



}

}

Jeśli w zwróconym przez tę metodę łańcuchu znajduje się podłańcuch "SV1", to przeglądarką wyświetlającą stronę jest program Internet Explorer pracujący w systemie Windows XP z dodatkiem Service Pack 2.


Czy w witrynie używane są metody showModelessDialog() i showModalDialog()?


Należy unikać tworzenia nowych instancji kontrolek ActiveX, automatycznego inicjowania pobierania plików lub automatycznego wyświetlania wyskakujących okienek z okien dialogowych otwieranych za pomocą tych metod. W takich przypadkach zablokowanie treści nie spowoduje wyświetlenia paska informacyjnego, więc użytkownik nie będzie miał łatwego sposobu na zezwolenie wyświetlenia treści. Sugerowanym rozwiązaniem jest inicjowanie takich akcji z okna przeglądarki Internet Explorer.

Czy w przypadku zablokowania treści witryna przekierowuje użytkownika do innej strony?


Należy unikać przekierowywania do innej strony, gdy przeglądarka zablokuje instalację kontrolki ActiveX, pobranie pliku lub wyskakujące okienko. Jeśli strona po zablokowaniu treści zostanie przekierowana, pasek informacyjny może nie zostać wyświetlony, przez co użytkownik może mieć kłopoty z wyświetleniem zablokowanej treści.



©absta.pl 2016
wyślij wiadomość

    Strona główna