2009-09-02 13 views

Odpowiedz

8

EDIT: uproszczona odpowiedź

Zidentyfikuj i przeglądarek:

  • połączeń window.home(); dla wszystkich przeglądarek

  • Wywołanie window.location.href = "about: home"; dla IE

W tym celu można użyć http://jquery.thewikies.com/browser/

jQuery Browser Plugin to dodatek dla jQuery, który ułatwia jednoznacznie identyfikować przeglądarkach zwiedzających.


Inne rozwiązania:

<script language="javascript"> 
    function gohome(){ 
     if (typeof window.home == 'function'){ // The rest of the world 
     window.home(); 
     } else if (document.all) { // For IE 
     window.location.href = "about:home"; 
     } else { 
     document.write("<p>Please click on your browser's Home 
button.</p>"); 
     } 
    } 
    </script> 

To via this website. Plakat stwierdza, że ​​na Safari są problemy. Można to naprawić za pomocą this other website.

Korzystanie sztuczki CSS wyjaśniono tam można wtedy zrobić:

<script type="text/javascript"> 
    isSafari3 = false; 
    if(window.devicePixelRatio) isSafari3 = true; 
</script> 

i wykorzystuje to w skrypcie powyżej zadzwonić prawidłową funkcję:

if (typeof window.home == 'function' || isSafari3) 
+0

Patrząc na to teraz, to odpowiedź nie wydaje się być w 100% poprawna. 'about: home' nie działa w IE 8, a' window.home() 'działa tylko w Firefoksie (nie Safari czy Chrome). – PleaseStand

+1

Na wypadek, gdyby to pomogło innym: miałem kłopotliwy problem ze starszą aplikacją sieciową, którą właśnie zacząłem utrzymywać po aktualizacji z FF 21 na FF 22.0: miał on element iframe z 'name =" home "' i Javascript jak 'var url = top. home.location.href', ale to się zepsuło, ponieważ najwyraźniej 'home' jest funkcją w Firefoksie [której nie da się nadpisać w 21.0]. – nothingisnecessary

+1

To nie działa w Chrome 52 :( – oriadam

0

Dla FF i podobne: window.home();

dla IE: location = "about:home";

1

Nie wiem, czy istnieje rozwiązanie cross-browser. W IE możesz użyć zachowania HomePage i zadzwonić pod numer navigateHomePage.

0

okno.home() nie działa na mnie w FF37, ale to było w porządku:

location.href = "about:home"; 
1

domyślna strona główna (domyślnie nową kartę) URL:

Google Chrome:

https://www.google.com/_/chrome/newtab 

Firefox i IE:

about:home 

Opera:

opera:speeddial 

Safari:

http://livepage.apple.com 

Aby dowiedzieć się domyślny adres URL strony startowej przeglądarki, przejdź do strony głównej i wpisz location.href w konsoli. Pamiętaj, że przeglądarka może przekierować Cię do ustawień regionalnych, więc musisz znaleźć tę stronę przed przekierowaniem (dzieje się to w Chrome).


Jeśli używasz tego kodu browser detection można użyć tego jednego-liner, aby uzyskać prawidłowy adres URL:

var homepageurl = browser == 'gc' ? 'https://www.google.com/_/chrome/newtab' : browser == 'op' ? 'about:speeddial' : browser=='sa' ? 'http://livepage.apple.com' : 'about:home' 

Przeglądarka kodu detekcji JSFiddle: https://jsfiddle.net/oriadam/ncb4n882/

Powiązane problemy