如何才能通过Javascript检测如果打印样式表是有效吗?
-
19-08-2019 - |
题
我想在网页上的打印样式表期间具有替代行为。沿着线的东西:
如果正在打印当前页是,不 懒得打电话SWFObject的召唤的 .swf文件成立。刚刚离开 HTML了Flash将取代。
我试过的东西就像一个已知的元素设置到一个真实存在的屏幕,但不能用于打印样式表已知的风格。但通过Javascript得到一个 “风格” 不得到的计算的风格。
小结:在一跨浏览器的方式,是有可能告诉哪个样式表是有效
?解决方案
这听起来像你困惑,当你查看打印机友好的页面打印样式表的使用,但事实并非如此。不适用的打印样式表,直到用户实际发送的页面到打印机。在这点上,也就是将要运行任何JavaScript已经结束。
您想要做的就是把你的SWFObject的一个div容器内,并有风格作为display:none;
对打印介质的容器是什么。
其他提示
您可以使用JavaScript来访问样式表文件中,然后检查“打印”样式表是有效的。一旦你确定这是CSS活跃,那么你可以管理你的内容。
在getActiveStyleSheet
函数将看起来是这样的:
function getActiveStyleSheet()
{
var i, a;
for (i = 0; (a = document.getElementsByTagName("link")[i]); i++)
{
if (a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("title")
&& !a.disabled)
return a.getAttribute("title");
}
return null;
}
您可以在这里找到的代码: http://www.alistapart.com/articles/alternate / 。
不隶属于 StackOverflow