2013-04-10 20 views
7

.body.scrollHeight nie działa w Firefoksie..body.scrollHeight nie działa w przeglądarce Firefox

Patrz: http://jsfiddle.net/gjrowe/X63KR/

Jaka jest poprawna składnia użyć zamiast tego?

+0

Te strony wydaje się zawierać informacje o problemie; http://www.webdeveloper.com/forum/showthread.php?73161-.scrollHeight-in-firefox, https://developer.mozilla.org/en-US/docs/DOM/element.scrollHeight, http://stackoverflow.com/questions/4369990/scrollheight-property-in-firefox –

+0

Otrzymałem 0 w alarmie, ale po dodaniu pęczka '
' wydaje się działać –

+0

@Alimendar Inne osoby zadające to samo bez odpowiedzi –

Odpowiedz

18

To pytanie ma ten sam problem jako głównego wątku w ... Dynamically define iframe height based on window size (NOT CONTENT)

Zrozumienie problemu w tym wątku dadzą rozwiązanie tego.

Zasadniczo, zamiast korzystania .body.scrollHeight dodaj ten kod ...

function getDocHeight() { 
    var D = document; 
    return Math.max(
     Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), 
     Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), 
     Math.max(D.body.clientHeight, D.documentElement.clientHeight) 
    ); 
} 

Odpowiedź uzyskano z: http://james.padolsey.com/javascript/get-document-height-cross-browser/

+0

Czy ten kod przestał działać w ciągu ostatnich 3 lat od udzielenia odpowiedzi? Właśnie przetestowałem go w Firefoksie i odkryłem, że ma tę samą wartość, co użycie document.body.scrollHeight. –

+0

@BrandonElliott Sprawdzę to i skontaktuję się z Tobą, ale problem jest spowodowany przez body.scrollHeight niezawodny. – RSinohara

0

skorzystać z poniższego kodu:

JavascriptExecutor jse = (JavascriptExecutor) (WebDriverObject); 
jse.executeScript("window.scrollBy(0,document.body.scrollHeight || document.documentElement.scrollHeight)", ""); 
Powiązane problemy