2013-04-10 18 views
7

.body.scrollHeight non funziona in Firefox..body.scrollHeight non funziona in Firefox

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

Qual è la sintassi corretta da utilizzare, invece?

+0

Queste pagine sembra contenere informazioni sul problema; 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

Ho ricevuto 0 all'avviso ma dopo aver aggiunto un gruppo di '
' sembra funzionare –

+0

@Allendar Altre persone che chiedono lo stesso senza risposta –

risposta

18

Questa domanda ha lo stesso problema radice della filettatura sul ... Dynamically define iframe height based on window size (NOT CONTENT)

comprensione del problema a quel filo darà la soluzione a questo.

In sostanza, invece di utilizzare .body.scrollHeight, aggiungere questo codice ...

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) 
    ); 
} 

La risposta è stata ottenuta da: http://james.padolsey.com/javascript/get-document-height-cross-browser/

+0

Questo codice ha smesso di funzionare negli ultimi 3 anni da quando è stata fornita la risposta? L'ho appena testato su Firefox e ho scoperto che produce lo stesso valore di solo usando document.body.scrollHeight. –

+0

@BrandonElliott Lo proverò e tornerò da te, ma il problema è causato da body.scrollHeight che non è affidabile. – RSinohara

0

Uso sottostante Codice:

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