回答
$(document).ready(function() {
$(".print").click(function() {
$("head").append("<link>");
css = $("head").children(":last");
css.attr({
rel: "stylesheet",
type: "text/css",
href: "css/ecsPrint.css"
});
return false;
});
});
除非这是一个内部Web应用程序,我wouldnt推荐加载与JS的CSS。
“除非这是一个企业网站”大声笑。作为除了外部人写“企业”网站的人之外,我宣布这个热闹,但对我的心脏不好。 – 2011-04-12 18:35:05
更适合你喜欢的亚当? – Dementic 2011-04-12 18:37:19
无论环境如何,我都是网络最佳实践的支持者。我更喜欢“我不会推荐使用JS加载CSS。期间,它可能是不可靠和不清楚的。” – 2011-04-12 18:43:55
当包括你的样式表,使用:
<link rel="stylesheet" media="print" href="stylesheet.css" />
这是您如何指定样式表以仅在打印时应用。 – m4tt1mus 2011-04-12 18:25:09
我不认为这是他问的...?他似乎想要将内容加载到新窗口中,然后将其视觉化地呈现给用户。这不会在屏幕上显示 - 仅在打印时才显示。 – 2011-04-12 18:25:36
是的,他甚至没有提出问题......我明白你的意思...... – 2011-04-12 18:32:00
您可以添加一个只打印样式表
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
这个样式并不需要被“添加”到弹出窗口。当用户处于“正常”视图时,它将被忽略,然后仅在用户打印文档时才应用。
如果您想同时显示并应用于打印文档,只需将其级联即可。
<link rel="stylesheet" type="text/css" href="normal.css" /> #normal styling
<link rel="stylesheet" type="text/css" href="print.css" /> #override normal styling
<link rel="stylesheet" type="text/css" media="print" href="print.css" /> #override normal, for printer
这样你就能得到两全其美的效果。根据需要使用print.css
中的新规则覆盖normal.css
中的css规则,以根据需要制作文档。新文档在外观上会有所不同,然后打印出不同的文档。
编辑:删除由于澄清。新的答案:
打开新窗口的URL这样:blah.aspx?print=true
然后在后端:
//Assuming you use .NET...
if(Request.Querystring("print").toLower() == "true") { //Convert to bool type if you are so inclined
printCSS.Visible = True;
}
HTML:
<head>
<link rel="stylesheet" type="text/css" href="..." visible="false" runat="server" id="printCSS" />
</head>
你也使用的一个显示的jQuery方法也使用jQuery加载它。
实际上我正在加载打印视图中的相同页面,并根据css文件进行了一些更改。 – Jay 2011-04-12 18:32:47
在这种情况下,我建议使用URL查询字符串参数,以便您的jQuery或后端代码查看,然后将相应的CSS文件直接加载到头部。 – 2011-04-12 18:37:25
- 1. 我想添加一个外部的CSS文件到PHP页面
- 2. 如何在Meteor中只加载一个页面的css文件?
- 3. 使用页面.css文件将CSS添加到iframe元素
- 4. jQuery:将额外的CSS文件添加到当前页面
- 5. 如何一个HTML文件添加到另一个HTML文件
- 6. 将Css和js文件添加到内容页面
- 7. 如何通过Git Hub raw添加css到我的页面?
- 8. 如何添加CSS到我的Plone页面?
- 9. 创建html页面并使用vb.net添加css文件到html页面(Winforms)
- 10. 我可以动态地为asp.net中的页面添加两个CSS文件吗?
- 11. 如何添加一个MSI文件到我的安装程序
- 12. 如何添加.js文件到Ajax调用后的jsp页面
- 13. 如何正确添加CSS文件到PHP和HTML?
- 14. 如何添加两个CSS文件,一个是Safari浏览器,一个用于在网页的iPad桌面版
- 15. 如何将我的自定义html页面(js和css)添加到wordpress页面
- 16. 用JS添加一个css文件
- 17. 包含一个带JSP页面和加载各种CSS文件的页面
- 18. 将一个css文件连接到多个html页面
- 19. 如何简单地将可下载的PDF文件添加到我的页面?
- 20. 我试图添加一个额外的CSS文件到我的WordPress主题
- 21. 如何将文件块添加到另一个文件
- 22. Tomcat - maven - 如何将静态页面添加到WAR文件?
- 23. Facebook:我可以添加一个事件页面作为页面
- 24. 如何添加几个.cpp文件到一个单一的CMakeLists.txt
- 25. 从代码后面添加一个外部css文件
- 26. 添加CSS文件
- 27. 将页脚添加到多个文件
- 28. 笨加载CSS/JS文件页面
- 29. 将html页面的正文加载到另一个页面而不使用ajax
- 30. 如何将布局文件添加到Android活动页面的一半
难道你只是将该CSS文件包含在生成的预览页面的标题中吗?没有向我们展示任何代码,你尝试过什么,或者甚至问我们一个问题 - 知道如何帮助你是不可能的。 – Dutchie432 2011-04-12 18:23:59
您的新窗口是在新窗口中打开的页面上的单独URL还是内容? – 2011-04-12 18:24:35
我想这样的事情$(文件)。就绪(函数(){ \t \t $(”打印 “)。点击(函数(){ \t \t \t \t $(” 链接 “)。ATTR(” HREF”, “CSS/ecsPrint.css”); \t \t \t返回假; \t \t \t \t}); \t \t \t \t}); – Jay 2011-04-12 18:25:19