Показать часть страницы в новом окне - PullRequest
0 голосов
/ 27 апреля 2011

Я хотел бы открыть страницу на изображении ниже, но только показывая зеленую часть в новом окне.Скрытие меню и заголовка для пользователя.

enter image description here

function openNewWindow() {
        var pr = window.open("Page.aspx", "page", "width=700, height=400");  
        pr.onload() = function() {  
            pr.document.getElementById("header").style.display = 'none';  
        }
    }

Можно ли установить какое-либо смещение для страницы в новом окне?Как left:-40px и top:-20px или что-то подобное?Я знаю, что top и left позиционируют новое окно, а не его содержимое, но могу ли я что-то сделать, чтобы изменить положение фактического содержимого?

Есть ли обходной путь или другое решение с таким же результатом?

РЕДАКТ.
Когда я нажимаю <a href="javascript:openNewWindow(); return false;">Click</a>, я хочу, чтобы Page.aspx (изображение выше) открывалось в новом окне, но без отображения меню и заголовка.

Ответы [ 3 ]

1 голос
/ 27 апреля 2011

как насчет того, чтобы открыть страницу, в которой отображается iframe, который загружает вашу страницу, а затем вы можете установить ширину / высоту iframe в соответствии с тем, что вам нужно, и обеспечивать ли прокрутку или нет?как то так:

<html>
<!-- this is page2.aspx -->
<body>
<!-- header -->
<!-- menu -->
<iframe id="abc"...></iframe>
<script type="text/javascript">
 var page = ... //retrieve the value of the parameter "url" passed to us (you can find how to do this by googling)
 document.getElementById( "abc" ).src = page; //set the iframe url to the parameter passed
</script>
</body>
</html>

тогда ваша функция становится:

function openNewWindow() {
        window.open("Page.aspx?url=http://page/to/load", "page", "width=700, height=400");
}
1 голос
/ 27 апреля 2011
  1. Загрузить всю страницу, но скрыть заголовок и меню, используя Javascript:

    newwindow.onload = function() {
        newwindow.document.getElemementById('header').style.display = 'none';
        newwindow.document.getElemementById('menu').style.display = 'none';
    }
    

    (или использовать метод JQuery .hide())

  2. Загрузите всю страницу, но добавьте дополнительную таблицу стилей, которая устанавливает заголовок и меню скрытыми:

    #header, #menu {display:none !important;}
    
  3. , когда вы обслуживаете страницу, используйте другой шаблон, который не 'включая заголовок, меню и т. д. При прочих равных условиях это, вероятно, будет лучшим вариантом, но я не могу дать какой-либо совет по этому поводу, не зная всего загрузки дополнительной информации о вашем коде.

(все вышеперечисленное предполагает, что у вас есть идентификаторы в указанном вами заголовке и меню; измените их соответствующим образом)

0 голосов
/ 27 апреля 2011

Согласитесь со Spudley, но если это невозможно, вы можете обойтись с отрицательной маржей. Как это:

body {margin: -50px 0 0 -50px}

...