13

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

<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 中启用滚动条?

4

3 回答 3

2

就像 Nikunj Soni 所说,height为您的标签设置一个属性body将帮助您解决每个浏览器中的问题。我将做不同的事情如下:

我不会设置固定高度,而是设置height:100%,这使您能够以与原始大小不同的大小打开弹出窗口。

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

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

希望这个答案对您有所帮助。

于 2016-05-08T12:42:55.903 回答
0

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

于 2013-09-19T08:54:04.603 回答
0

实际上我尝试使用不同的浏览器,如果您对高度有固定要求,您可以做的是将example.html的所有内容包装在特定的 div 中,并附加 css 之类的overflow:auto;height:200px。我将向您展示整个代码。

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

将其放入example.html中。您可以从代码中获得的高度window.open("example.html", "name", "resizable=1,scrollbars=no,width=500,height=200");

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

希望这有帮助。

于 2015-10-07T06:55:03.017 回答