1

在寻找如何根据视图模式和内容类型有选择地将 CSS 或 JS 添加到给定节点之后,我来到了这里。这个问题在这里得到了非常简单的回答(http://stackoverflow.com/questions/8295498/how-to-add-css-and-js-files-on-node-pages-independent-of-the-theme)。

现在我想澄清一切:我正在寻找一种方法来显示我想要的 CSS 和 JS,但此而已,没有其他 JS 和 CSS。我正在尝试集成 Impress.js(而且我不喜欢可用的解决方案),它似乎与 Jquery 冲突,因为两个脚本都已正确加载,但最新的 Firefox 和 Chromium 浏览器都会抛出“旧浏览器”消息。

关于如何取消设置每一个 CSS 和 JS 以便我想要使用的 CSS 和 JS 是唯一真正活跃的有什么想法吗?

谢谢!

我尝试了以下方法,但没有成功:

$mycss = $vars['styles'];

unset($micss[drupal_get_path('module','system') .'/system.base.css']);

...

unset($micss[drupal_get_path('module','toolbar') .'/toolbar.css']);

$vars['styles'] = $mycss;

(我添加了很多我想摆脱的不同 css,但这解释了这个想法)。但是,它没有用:)

编辑。我很抱歉标记不好,我正在寻找一种清理/标记代码的方法。

4

1 回答 1

2

在您的自定义模块中使用:

function yourmodule_js_alter(&$js) {
    unset(
        $js['misc/drupal.js'],
        $js['misc/jquery.js']
        .... etc.
    );
}

您说您只想对某些内容类型执行此操作,因此请尝试:

if(arg(0) == 'node') {
    $node = node_load(arg(1));
    if($node->type == 'your_content_type') {
        unset(
            $js['misc/drupal.js'],
            $js['misc/jquery.js']
            .... etc.
        );
    }
}

强尼

于 2012-04-13T14:53:37.497 回答