2013-05-15 23 views
11

ho un collegamento esistente, che apre una pagina web in una nuova finestra con barre di scorrimento disabilitati come segue:Abilitazione barre di scorrimento del browser dopo window.open con barre di scorrimento = senza

<a onclick='window.open("example.html", "name", "resizable=1,scrollbars=no,width=500,height=200");' href='#'>Click to pop up without scroll bars</a> 

Per amor di discussione, non posso cambia questo codice window.open(). Devo abilitare le barre di scorrimento dopo che la finestra è stata aperta.

Questo funziona in IE utilizzando il seguente codice:

<script type="text/javascript"> 
    onload=function() 
     { 
    enableScrolling(); 
    } 
    function enableScrolling() 
    { 
     document.body.scroll = "yes"; // IE 
    } 
</script> 

Tuttavia, questo non funziona in Firefox o Chrome.

Secondo questa pagina, il seguente codice dovrebbe funzionare per Firefox e Chrome, ma non lo fa (forse questo ha funzionato nelle versioni precedenti?)

 document.documentElement.style.overflow='scroll'; 
     document.body.style.overflow='scroll'; 

Qualcuno sa se è possibile attivare le barre di scorrimento in FireFox e Chrome dopo l'apertura della finestra con barre di scorrimento disabilitate?

+0

Grazie per il tuo post. Ho risolto il mio problema a causa del tuo post. (Almeno per IE) –

+0

Non penso che tu possa disabilitare la barra di scorrimento in Chrome con quel codice, quindi devi solo trovare una soluzione per Firefox. –

+0

Prova '' e javascript non buono scroll degli attributi. – KingRider

risposta

0

Dato che si aggiunge js per IE, presumo che sia possibile modificare il modo in cui la pagina visualizzata funziona. In tal caso, proverei a mettere il contenuto della finestra aperta in div e ad impostare il suo stile su qualcosa come: height: 200px; overflow: auto;

0

In realtà ho provato con diversi browser Se avete fissato requisito circa di altezza, che cosa si può fare è avvolgere tutto il contenuto del example.html in un div specifico con il css allegato come overflow:auto;height:200px. Ti mostrerò l'intero codice.

<body> 
<div style="overflow:auto;height:200px;"> 
    Your HTML code  
</div> 
</body> 

metterla in example.html. Altezza che puoi ottenere dal tuo codice window.open("example.html", "name", "resizable=1,scrollbars=no,width=500,height=200");.

Questa non è la soluzione reale ma risolverà il problema in ogni browser.

Spero che questo aiuto.

1

Proprio come ha detto Nikunj Soni, l'impostazione di un attributo height sul tag body ti aiuterà a risolvere il problema in ogni browser. Quello che farò in modo diverso è il seguente:

Invece di impostare un'altezza fissa, impostare height:100%, che consente di aprire il popup anche in dimensioni diverse rispetto all'originale.

<body style="overflow:auto; height:100%;"> 
     The rest of your HTML code 
</body> 

anche questo non è la soluzione migliore, ma in realtà si sta rimuovendo il restictions si ottiene dal link.

Spero che questa risposta sia utile.

Problemi correlati