0

首先是网站的链接:www.fish-fry.com

我知道这被认为是不好的做法,但我已经处理这个问题大约一个月了,我建立的网站现在已经 100% 完成,除了这个问题,在解决之前我无法获得报酬。

从 Mac 查看时,网站在所有主要浏览器上看起来都不错,从 PC 查看时,我的导航菜单和搜索栏输入低 2px。

我发现一些代码似乎可以让我在等待平台时调用不同的样式表,但它对我不起作用,想知道这里是否有人有任何见解:

<script type="text/javascript">
} if (navigator.userAgent.indexOf('Windows NT')) {
    document.write('<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style-windows.css" />');
}
else {
    document.write('<link rel="stylesheet" type="text/css" href="<?php     bloginfo('template_directory'); ?>/style.css" />');
}
</script>

任何帮助是极大的赞赏!


@sarnold,没有验证错误。

尽管删除右括号似乎也不起作用。最初它搞砸了事情在 mac 上的样子,所以我把它改成了这样:

<script type="text/javascript">
if (navigator.userAgent.indexOf('Windows NT')) {
    document.write('<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style-windows.css" />');
}
elseif (navigator.userAgent.indexOf('Mac OS')) {
document.write('<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css" />');
}
</script>` 

但是,当我从 Windows 打开 chrome 或 firefox 时,它仍在从默认样式表中读取。


有人熟悉上面的脚本吗?不知道为什么我的电脑仍在引用 Mac 样式表。提前感谢您的帮助!


我也试过这个脚本,似乎仍然,两个平台都只引用'style.css'

<script type="text/javascript">

/***********************************************
* Different CSS depending on OS (mac/pc)- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var csstype="external" //Specify type of CSS to use. "Inline" or "external"

var mac_externalcss='http://www.fish-fry.com/dev/wp-content/themes/FISH-FRY-MUSIC-AND-SOUND-CUSTOM-THEME/style.css' //if "external", specify Mac css file here
var pc_externalcss='http://www.fish-fry.com/dev/wp-content/themes/FISH-FRY-MUSIC-AND-SOUND-CUSTOM-THEME/style-windows.css' //if "external", specify PC/default css file here

///////No need to edit beyond here////////////

var mactest=navigator.userAgent.indexOf("Mac")!=-1
if (csstype=="inline"){
document.write('<style type="text/css">')
if (mactest)
document.write(mac_css)
else
document.write(pc_css)
document.write('</style>')
}
else if (csstype=="external")
document.write('<link rel="stylesheet" type="text/css" href="'+ (mactest? mac_externalcss : pc_externalcss) +'">')

</script>

有什么帮助吗?这让我发疯:|

4

3 回答 3

2

您的问题是脚本开头的杂散右括号

于 2012-05-22T01:35:14.320 回答
1

作为对未来项目的建议,您可能希望使用重置样式表来同步所有浏览器。这将有助于避免观看头痛。其中任何一个都是一个很好的起点:

雅虎的重置可能是最古老和最过时的。搜索过去一年中最新、最流行的重置样式表,寻找您选择的毒药。

于 2012-05-22T02:40:05.030 回答
0

我猜从上面的评论中你发现了样式表中的问题并修复了它——这是个好消息。

但是对于那些浏览器有问题的情况,Thematic 开发人员使用的方法非常优雅:

他们在主题中创建了一些不错的代码,可以将样式添加到正文中,如果需要,您可以将样式挂接到整个站点中。这是一个真实的例子:

<body class="home page page-id-5 page-template-default windows firefox ff1">

这意味着您可以拥有一个带有 css 的样式表,例如:

.firefox #menu { margin-top: 2px; }
.IE6 #menu { margin-top: 4px; }

如果您想与不同的用户代理一起玩,请查看 Thematic 主题网站,或者如果您更喜欢访问我的网站

于 2012-05-23T10:03:36.517 回答