Activation des barres de défilement du navigateur après window.open avec scrollbars = no
J'ai déjà un lien qui ouvre une page web dans une nouvelle fenêtre avec des barres de défilement désactivé comme suit:
<a onclick='window.open("example.html", "name", "resizable=1,scrollbars=no,width=500,height=200");' href='#'>Click to pop up without scroll bars</a>
Pour la clarté de l'exposé, je ne peux pas changer cette fenêtre.open() code. J'ai besoin d'activer les barres de défilement après la fenêtre a été ouverte.
Cela fonctionne dans internet explorer en utilisant le code suivant:
<script type="text/javascript">
onload=function()
{
enableScrolling();
}
function enableScrolling()
{
document.body.scroll = "yes"; //IE
}
</script>
Toutefois, cela ne fonctionne pas dans FireFox ou Chrome.
Selon cette page, le code suivant devrait fonctionner pour FireFox et Chrome, mais il ne le fait pas (peut-être que cela fonctionnait dans les versions antérieures?)
document.documentElement.style.overflow='scroll';
document.body.style.overflow='scroll';
Personne ne sait si il est possible d'activer les barres de défilement dans FireFox et Chrome après la fenêtre a été ouverte avec les barres de défilement désactivé?
source d'informationauteur Dan Cook
Vous devez vous connecter pour publier un commentaire.
Comme Nikunj Soni dit, la définition d'une
height
attribut à votrebody
balise de vous aider à résoudre le problème dans tous les navigateurs. Ce que je vais faire différemment est la suivante:Au lieu de définir une hauteur fixe, je mettrais
height:100%
qui vous permettra d'ouvrir la popup également dans différentes tailles que l'original.Cela n'est pas la meilleure solution, mais vous êtes vraiment supprimer les restrictions que vous obtenez à partir du lien.
Espérons que vous trouverez cette réponse utile.
Puisque vous ajoutez js pour IE je suppose que vous pouvez changer la page affichée à l'écran des œuvres.
Dans ce cas, je voudrais essayer de mettre le contenu de la fenêtre ouverte dans la div, et de définir son style à quelque chose comme: height: 200px; overflow: auto;
En fait j'ai essayé avec un autre navigateur, Si vous avez résolu exigence sur la hauteur, ce que vous pouvez faire est d'envelopper tout le contenu de example.html dans un div avec la css associée comme
overflow:auto;height:200px
. Je vais vous montrer l'ensemble du code.mettre en example.html. Hauteur, vous pouvez obtenir à partir de votre code
window.open("example.html", "name", "resizable=1,scrollbars=no,width=500,height=200");
.Ce n'est pas la solution réelle, mais il permettra de résoudre votre problème à tous les navigateurs.
Espérons que cette aide.