2014-05-22 17 views
8

Pracuję nad stroną internetową zaprojektowaną z kluczowym elementem nawigacji w lewym dolnym rogu. W przeglądarce Google Chrome znajduje się pasek stanu w lewym dolnym rogu, który pojawia się po przewinięciu linku na stronie i wyświetla adres URL strony. Jednak jeśli zbliżysz się wystarczająco blisko, przesuniesz się w prawy dolny róg. To przeszkadza temu elementowi nawigacji.Usuń/przenieś lewy pasek stanu przeglądarki Google Chrome po lewej stronie (pasek adresu łącza)

Moje pytanie może zostać usunięte/przeniesione (prawy dolny róg) za pomocą CSS, HTML lub JavaScript? Zobacz kilka uwag poniżej.

  • Idealnie chciałbym przenieść to na stałe na stałe.
  • Jestem świadomy, że jest to wymagane/najlepsza praktyka z wielu powodów, dlatego chciałbym uniknąć usunięcia.
  • Jestem świadomy, że mogę usunąć href z linku i użyć zdarzenia onClick, może to być możliwe obejście problemu, ale przejście w prawo byłoby lepszym rozwiązaniem w tym przypadku.
  • Jestem również pewien, że istnieje duża debata na temat tego, czy ten element nawigacyjny pozostaje w lewo, ale szukam rozwiązania w ramach parametrów, z którymi muszę pracować.

Dzięki

Odpowiedz

9

Chrome odczytuje atrybut HREF z linku, aby wyświetlić link na pasku stanu.

Jeśli usuniesz HREF ze znaczników A, pasek stanu nie będzie wyświetlany. Jednak link też nie zadziała, :). Dlatego możesz utworzyć moduł obsługi zdarzeń w usłudze MouseOver, aby rozwiązać ten problem i utrzymać działanie linków.

$("body").on('mouseover', 'a', function (e) { 
    var $link = $(this), 
     href = $link.attr('href') || $link.data("href"); 

    $link.off('click.chrome'); 
    $link.on('click.chrome', function() { 
     window.location.href = href; 
    }) 
    .attr('data-href', href) //keeps track of the href value 
    .css({ cursor: 'pointer' }) 
    .removeAttr('href'); // <- this is what stops Chrome to display status bar 
}); 

Możesz uruchomić dodatkowe problemy, takie jak wyłączone linki lub łącza, które mają inne programy do obsługi zdarzeń.W takim przypadku możesz zmodyfikować selektor na 'a:not(.disabled)' lub po prostu dodać tę delegację do znanych elementów z klasą css ".disable-status", dlatego Twój selektor będzie: "a.disable-status".

+0

dzięki! Powinienem był o tym pomyśleć! ;))) – LoomyBear

+0

Czy można to dostosować do pracy w Firefoksie i innych przeglądarkach? –

+0

To nie działa dla mnie, czy ktoś może pomóc? –

0

jak wydaje się to mało status z linkiem znajduje się na poped z href. możesz utworzyć element bez atrybutu href i zamiast tego użyć zdarzenia onclick do kierowania użytkownika.

po prostu myślę, że nie będziesz mieć odwiedzonej funkcjonalności.

+0

Dzięki za odpowiedź, to było coś, czego chciałem uniknąć. Czy wiesz, czy mogę zmienić domyślną funkcjonalność przeglądarki? – alexmcfarlane

+0

Przepraszam. brak pomysłu. –

2

Jak widać na tym zrzucie ekranu, wygląda na to, że Chrome przesuwa pasek stanu poza zasięg okna, gdy przewracasz link znajdujący się na krawędzi (link "dodaj komentarz" w tym przypadku).

Więc ... nie martwiłbym się tym. Jest zbudowany w zachowaniu przeglądarki, więc będzie bardzo trudno go zmienić. Dawno, dawno temu można było użyć javascript do modyfikacji zawartości paska stanu, ale dostawcy przeglądarki położyli temu kres z różnych względów bezpieczeństwa.

Nie daj się skusić na bodge z onclick. Stracisz dostęp, a demony html będą prześladować cię w każdej chwili snu.

W rzeczywistości można pomyśleć o tym wszystkim jako pożądanym zachowaniu: nawigacja i status znajdują się tuż obok siebie, co ułatwia użytkownikowi dokonanie właściwego wyboru nawigacji (zakładając, że adresy URL są przyjazne dla użytkownika) .

Screenshot of described behaviour

tl/DR: Nie.

+0

Uwaga: może działać trochę inaczej w innych systemach operacyjnych. Kiedy poruszam kursorem dokładnie na krawędzi ekranu, "pasek statusu" w ogóle się nie pokazuje, inne łącza wciąż go wyzwalają. W każdym razie +1 do tej odpowiedzi, uważam, że jest właściwa. – giorgio

+0

Zdaję sobie sprawę z tej funkcji, ale zastanawiałem się, czy można zmienić zachowanie przeglądarki w przeglądarce Chrome i albo przesunąć ją w prawo, albo całkowicie usunąć. Zakładam, że tak nie jest. – alexmcfarlane

Powiązane problemy