javascript - 使用从 URL 变量读取的 JavaScript 加载不同的 CSS 样式表

标签 javascript html ios css wordpress

我想在我的 wordpress 博客上使用两个不同的样式表,这样当通过网络访问页面时使用一个样式表,而当通过我们的 iOS 应用程序访问博客内容时使用另一个样式表。现在我们将 ?app=true 附加到我们的 iOS 应用程序的 URL 请求中,希望我们可以在我们的博客中搜索这个字符串并加载不同的样式表。我们正在使用 JSON API 插件,以便我们的 iOS 应用程序能够以编程方式提取我们的博客文章,并在 iOS 应用程序的 WebView 中显示它们。

在我的 wordpress 博客中,我使用 JavaScript 在 URL 中查找 ?app=true,如果是,则加载不同的样式表。

<script language="javascript" type="text/javascript">
    var currentLocation = window.location.href; 
    if(currentLocation.indexOf('/?app=true') > -1) {        
        document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"appstyle.css\" />");
    }
</script>

可以看看http://blog.meetcody.com并查看页面源。您将在标签之间看到此代码片段。

我遇到的问题是上面的代码实际上并没有加载 appstyle.css 样式表。如果你看一下http://blog.meetcody.com/wp-content/themes/standard/appstyle.css?ver=3.4.2你可以看到我正在通过在 body {} 标签中设置背景来测试这个:黑色

body {
background: black;
}

然而,在 http://blog.meetcody.com/wp-content/themes/standard/style.css?ver=3.4.2 的 style.css 中主体背景色为#F2F0EB;在正文 {} 标签中

body {
    background: #F2F0EB;
}

如何传递一个 URL 变量,例如 ?app=true 并在传递时加载不同的样式表?

最佳答案

我相信解决您的问题的最佳方法是使用 Responsive Web Design技巧。这些允许您适本地处理不同的分辨率。

基本的 CSS 看起来像下面这样......

@media screen and (min-width: 480px) {
    // CSS for iPhone
}

@media screen and (min-width: 768px) {
    // CSS for iPad
}

@media screen and (min-width: 900x) {
    // CSS for desktop
}

要点是您不需要为不同的平台加载不同的样式表。您将拥有一个适用于所有情况的样式表。它甚至可以用于您没有专门针对的平台。

构建新波士顿环球网站的团队是我对 RWD 的介绍。这是 a breakdown of what they did .

关于javascript - 使用从 URL 变量读取的 JavaScript 加载不同的 CSS 样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14007048/

相关文章:

javascript - Chrome 在浏览器后退按钮上再次执行所有 JS

c# - 从设置为 ImageView 的相机捕获图像

ios - CocoaPods 和 Parse 的 Mach-O 链接器错误

javascript - 用户系统的边缘情况

javascript - 在 HTML 中制作一个可编辑的选项框(可能的 Javascript)

javascript - 触发点击有时不起作用

javascript - 如何更改 span 标签的值?

javascript - 从输入框存储变量并在 p 标签中显示值

javascript - 从外部 JavaScript 访问 JSON 数据

ios - 使用 NSUserActivity 或 Core Spotlight