Wordpress父/子主题不在ie7 + 8中加载js

时间:2012-06-26 12:24:31

标签: css wordpress-theming media-queries modernizr

我在排查新客户端网站时遇到问题。

我正在使用CSS媒体查询,但出于某种原因,modernizr / respond.js不适用于IE7& 8 - 我整个上午都在看这个,无法修复它。想知道一双新鲜的眼睛是否能发现任何我无法发现的东西......?

网站位于:http://cy4or.co.uk

更新: 我想知道这是否与Wordpress中的父/子主题有关。以前这个网站使用了一个主题,我将该主题分为父母和子主题,并且(我认为)就是问题开始的时候。

更新2: 明确与父/子主题有关。只激活父母他们,一切正常。

3 个答案:

答案 0 :(得分:1)

我也遇到了 Respond.js 没有在我的WordPress父/子主题配置中解析媒体查询,这涉及在子CSS文件中使用@import来引入父主题CSS。然后我发现根据Respond.js documentation

  

Respond.js不会解析通过@import引用的CSS,也不会起作用   在样式元素中使用媒体查询,因为这些样式不能   重新请求解析。

由于我使用的是Sass,我的解决方案是@import Sass 文件,而不是CSS文件:

@import '../parent/scss/style.scss';

将父CSS编译为子主题中的单个style.css文件,Respond.js按预期呈现媒体查询。如果您没有使用预处理器或有其他原因加载父CSS文件本身,可以使用wp_enqueue_style完成。

function link_parent_theme_style() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri() );
}
add_action('wp_enqueue_scripts', 'link_parent_theme_style'); 

从技术上讲,这个问题应该是“ Respond.js无法使用WordPress父/子主题

答案 1 :(得分:0)

您的页面无法验证,并且JavaScript很可能需要一个正确验证的页面才能最有效地执行而无错误。

答案 2 :(得分:0)

事实证明这个问题有点难以解决。

我正在使用.less来编译我的css但由于某种原因,当使用Child主题并导入style.css顶部的父css时,它无法在ie8&下面。

我希望我可以扩展'它不起作用',但经过2天的故障排除后,我真的无法告诉你这是什么问题。

最后,我将孩子的css直接添加到标题中,然后是父母css:

<link rel="stylesheet" href="http://site.com/wp-content/themes/Parent/style.css">
<link rel="stylesheet" href="http://site.com/wp-content/themes/Child/style.css">

这对我有用,我知道它不理想,但我可以忍受它。 如果有人知道如何使用.less app成功编译子主题和父主题css我想知道。