我想打开一个新页面,其内容与旧页面中名为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
答案 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>');