document.write在页面上使用统一字体大小的新页面

时间:2016-03-17 19:48:01

标签: javascript inline-styles

我想打开一个新页面,其内容与旧页面中名为celltemplating的{​​{1}}相同。 在我的JavaScript函数中,我有一个由ng-if命令返回的div变量,我将Div1的内部HTML写入newWindow,我想要每一个文本新页面内的字体大小为7px。这是我写的:

window.open

新页面呈现但由于Div1中的内容被拆分为3个newWindow,因此只有newWindow.document.write('<html><head><title>Hello World</title>'); newWindow.document.write('</head><body style="font-size:7px">'); newWindow.document.write($('Div1').html()); newWindow.document.write('</body></html>'); Div1的字体大小已更改为7px,字段集中的所有内容仍然具有默认字体大小(大约为11px)。如何将新页面中的每个文本更改为7px?我可以fieldset链接到新页面的新样式表,但我更喜欢内联样式。感谢。

旧页面(ASP.net):

legend

fieldset(只有具有CSS样式的元素类)

document.write

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码段。添加您的实际样式,然后使用其他HTML将它们附加到文档中。 因此阻止新窗口打开,请尝试使用此网址:http://output.jsbin.com/sobewavagi

    (function(undefined) {
      /**
       *
       */
      'use strict';

      function addStyleOnOpen() {
        var style,
          stylesheet,
          pageTitle = 'my title',

          prnt = open();

        style = document.createElement("style");

        style.setAttribute('media', 'all');
        style.setAttribute('type', 'text/css');
        style.setAttribute('rel', 'stylesheet');

        style.appendChild(document.createTextNode(""));
        prnt.document.head.appendChild(style);

        stylesheet = style.sheet;

        stylesheet.insertRule('body {width: 100% !important;margin: 0 !important;padding: 0 !important;line-height: 1.45;font-family: "Open Sans", sans-serif;color: #999;background: none;font-size: 14pt;}', 0);

        stylesheet.insertRule('#new-window {color: green;}', stylesheet.cssRules.length);

        stylesheet.insertRule('h1 {color: red;}', stylesheet.cssRules.length);

        prnt.document.title = pageTitle;
        prnt.document.body.insertAdjacentHTML('afterbegin', '\n <h1>Heading</h1> \n <p id="new-window">Hello World!</p>');
      }

      document.getElementById('new-window').addEventListener('click', addStyleOnOpen, false);


    }(undefined));
<a href="#" id="new-window">Open</a>

答案 1 :(得分:0)

无法在新页面上body执行内联样式,但我想我可以更改

newWindow.document.write('</head><body style="font-size:7px">');

要:

newWindow.document.write('<style>.body {"font-size:7px"}</style></head><body>');