Javascript 如何在不访问标题的情况下链接条件样式表
我在一家企业CMS(Autonomy/Interwoven Teamsite)工作,它不允许我直接访问页面的标题。我只能链接样式表和添加外部js文件。通常我会添加一个条件注释来链接ie6/ie7样式表。在一些搜索中,我找到了一种在js中使用条件注释和基于jscript版本的特定ie版本来定位ie的方法 在js中:Javascript 如何在不访问标题的情况下链接条件样式表,javascript,css,internet-explorer,conditional-comments,Javascript,Css,Internet Explorer,Conditional Comments,我在一家企业CMS(Autonomy/Interwoven Teamsite)工作,它不允许我直接访问页面的标题。我只能链接样式表和添加外部js文件。通常我会添加一个条件注释来链接ie6/ie7样式表。在一些搜索中,我找到了一种在js中使用条件注释和基于jscript版本的特定ie版本来定位ie的方法 在js中: /*@cc_on document.createStyleSheet("/css/all_ie_fixes.css"); /*@if (@_jscript_versio
/*@cc_on
document.createStyleSheet("/css/all_ie_fixes.css");
/*@if (@_jscript_version = 5.6)
document.createStyleSheet("/css/ie_6.css");
/*@end
@*/
这看起来像一个丑陋的黑客。有什么建议吗?如果你在用IE6做任何事情,那么你的代码将充满难看的黑客。您的代码的未来维护者将知道这一点并同情您,而不是诅咒您的名字。如果它能工作,那就去做吧。如果你用IE6做任何事情,那么你的代码将充满丑陋的黑客行为。您的代码的未来维护者将知道这一点并同情您,而不是诅咒您的名字。如果它有效,那么就用它。试试: 尝试:
可能没有一种非丑陋的方法可以做到这一点。这就是说,使用像YUI()这样的库提供的用户代理检测可以得到比上述hack更清晰、更明确的代码。比如:
if (YAHOO.env.ua.ie >= 6 && YAHOO.env.ua.ie < 7)
{
document.createStyleSheet("/css/ie_6.css");
}
if(YAHOO.env.ua.ie>=6&&YAHOO.env.ua.ie<7)
{
document.createStyleSheet(“/css/ie_6.css”);
}
丑陋,是的。但其目的很清楚。可能没有一种非丑陋的方法可以做到这一点。这就是说,使用像YUI()这样的库提供的用户代理检测可以得到比上述hack更清晰、更明确的代码。比如:
if (YAHOO.env.ua.ie >= 6 && YAHOO.env.ua.ie < 7)
{
document.createStyleSheet("/css/ie_6.css");
}
if(YAHOO.env.ua.ie>=6&&YAHOO.env.ua.ie<7)
{
document.createStyleSheet(“/css/ie_6.css”);
}
丑陋,是的。但是它的意图是非常清楚的。有些人不赞成它,但也有针对IE的css攻击,不需要有条件的评论 例如,只有IE6会阅读此样式:
* html p {color:red;}
IE6太蠢了,读不懂这个:
html>body p {color:red;}
快速的谷歌搜索还可以找到许多其他的搜索结果:有些人不喜欢它,但也有针对IE的css攻击,不需要有条件的评论 例如,只有IE6会阅读此样式:
* html p {color:red;}
IE6太蠢了,读不懂这个:
html>body p {color:red;}
快速的谷歌搜索还可以找到许多其他内容:谢谢,Nimbuz-条件CSS看起来不错。。。但我认为我无法获得服务器端安装的批准。谢谢,Nimbuz-条件CSS看起来不错。。。但我认为我无法获得服务器端安装的批准。对不起,我想我不明白为什么不能使用条件注释。我认为他们也从页面的主体开始工作。因此,与使用js或CSHACK并保持html干净相比,在正文顶部链接到css文件更可取?对不起,我想我不明白为什么不能使用条件注释。我认为他们也从页面的主体开始工作。因此,与使用js或CSHACK并保持html干净相比,在正文顶部链接到css文件更可取?我喜欢这一点的明确性,Ben-并将查看YUI文档。如果我只在这一个功能中使用YUI,你认为添加库值得吗?不,可能不值得——但我相信jQuery也有类似的功能(如果你想使用其他jQuery功能的话)。可能有一个很好的独立版本检测库。(我真的建议你这样做,而不是试图自己进行检测,这显然是噩梦)本,我喜欢这一点的明确性,我会查看YUI文档。如果我只在这一个功能中使用YUI,你认为添加库值得吗?不,可能不值得——但我相信jQuery也有类似的功能(如果你想使用其他jQuery功能的话)。可能有一个很好的独立版本检测库。(这真的是一个建议,而不是试图自己进行检测,这显然会让人感到噩梦般)