2011-01-08 9 views
5

Desidero utilizzare dd belatedpng in modo che i file PNG sul mio sito Web vengano visualizzati correttamente su IE. Lo script che ho sempre usato su siti web non wordpress eraWordpress - Script Enqueue solo per IE

<!--[if lt IE 7 ]> 
    <script src="js/dd_belatedpng.js"></script> 
    <script> DD_belatedPNG.fix('img, .ir'); </script> 
<![endif]--> 

Ora che ho bisogno di utilizzare su un sito web Wordpress, sto cercando di trovare un modo di aggiungere che script utilizzando wp_enqueue_script (anche se io don Non mi piace affatto questo sistema). Alla fine della giornata, il tema verrà utilizzato solo su un singolo sito Web, preferirei eseguire l'hardcode del percorso degli script.

In ogni caso, c'è un modo per aggiungere condizionali IE per accodare lo script e/o registrare lo script?

risposta

12

Il rilevamento del browser è integrato in WordPress con la variabile globale $is_IE così ...

<?php 
global $is_IE; 
if ($is_IE) { 
    wp_enqueue_script('dd_belatedpng', bloginfo('template_directory').'/js/dd_belatedpng.js'); 
} 
?> 

Per lo script vero che si vuole eseguire, probabilmente si dovrebbe aggiungerlo a un altro file che viene inserito nella coda con dd_belatedpng come dipendenza.

+1

E il caching? Ciò non esclude il rilevamento del browser php, poiché l'utente sta solo caricando l'html memorizzato nella cache? –

-1

Cosa succede se si utilizza PHP per rilevare il browser nel file functions.php e quindi inserire una semplice istruzione if/else?

if (isset($_SERVER['HTTP_USER_AGENT']) && 
    (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)){ 
     wp_enqueue_script('jquery'); 
    } else { 
     return false; } 
Problemi correlati