使用scrollbars = no在window.open之后启用浏览器滚动条

时间:2013-05-15 10:08:59

标签: javascript html cross-browser

我有一个现有的链接,可以在新窗口中打开一个网页,其中滚动条被禁用,如下所示:

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

为了论证,我无法更改此window.open()代码。我需要在窗口打开后启用滚动条。

这可以在IE中使用以下代码:

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

但是,这在FireFox或Chrome中无效。

根据此页面,以下代码应该适用于FireFox和Chrome,但它不适用(也许这在早期版本中有效?)

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

有人知道在禁用滚动条打开窗口后是否可以在FireFox和Chrome中启用滚动条?

3 个答案:

答案 0 :(得分:2)

就像Nikunj Soni所说的那样,为height标记设置body属性可以帮助您解决每个浏览器中的问题。我将采取不同的做法如下:

我不会设置固定的高度,而是设置height:100%,这样您就可以打开与原始尺寸不同的弹出窗口。

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

这也不是最佳解决方案,但您实际上是删除了从链接中获得的限制。

希望您觉得这个答案有用。

答案 1 :(得分:0)

由于您为IE添加了j,我假设您可以更改显示页面的工作方式。 在这种情况下,我会尝试将打开的窗口的内容放在div中,并将其样式设置为:height:200px; overflow:auto;

答案 2 :(得分:0)

实际上我尝试使用不同的浏览器,如果您对高度有固定的要求,那么您可以做的是将 example.html 的所有内容包含在特定div中,附加的css如{{1 }}。我会告诉你整个代码。

overflow:auto;height:200px

将其放入 example.html 。您可以从代码中<body> <div style="overflow:auto;height:200px;"> Your HTML code </div> </body> 获得高度。

这不是实际的解决方案,但它可以解决您在每个浏览器中的问题。

希望得到这个帮助。