2013-07-07 48 views
1

我在Wordpress中为我的摄影网站创建了TwentyTwelve主题的儿童主题。在Wordpress中有条件加载javascript functions.php

在照片库页面中,单击缩略图图像会触发Fancybox或Photoswipe,具体取决于屏幕大小(如果使用< 500px Photoswipe,因为它可能是移动设备)。

为了获得更好的性能,我只想加载所需的javascript,Fancybox或Photoswipe,但不是两者都加载。

  • 我不使用插件的fancybox/Photoswipe但在儿童主题加载它们的functions.php使用wp_enqueue_style和wp_enqueue_script

  • 的fancybox/Photoswipe之间的选择是另一个JavaScript文件所做的,还入选functions.php:根据jQuery(window).width()的结果;它触发要么的fancybox或Photoswipe某些元素:

    jQuery(document).ready(function() { 
    
        windows_size = jQuery(window).width(); 
    
        if( windows_size > 500) {     // Load Fancybox 
    
         jQuery(".brick a").fancybox({ 
    
         [...] 
    
        else {   // Load Photoswipe 
    
         jQuery(".brick a").photoSwipe({ 
    
         [...] 
    
  • 我不能使用任何的WP功能,如is_page(...),因为这两个脚本都在同一个页面上触发

  • 我不“知道它是否将是可能的,使用Wordpress,加载上述

  • 在JavaScript为Photoswipe所有所需文件(JS和CSS)我宁愿不使用用户代理来检测移动设备

我在Google和StackOverflow上搜索,但找不到任何与Wordpress和这种情况有关的具体答案。

感谢您的帮助。

+0

据我所知,排队只能停在PHP级别。和[看起来像](http://stackoverflow.com/search?q=%5Bphp%5D+%22screen+size%22)PHP无法检测屏幕大小。请看看[wordpress.se]。 – brasofilo

回答

相关问题