Come posso aggiungere il tag <noscript> in <head>?


8

Se voglio aggiungere JavaScript nel tag head, lo uso drupal_add_js($js, 'inline'). Questo aggiungerà a <script type="text/javascript">.

Come aggiungo il <noscript>tag? Voglio aggiungere anche quanto segue <head>.

<noscript>
  <meta http-equiv="refresh" content="5;url=<?php echo $file ?>" />
</noscript>

A proposito, sto usando un modulo semplice per questo.

function custom_download_menu() {
    $items['download-code'] = array(
    'title callback' => 'custom_download_page_title',
    'page callback' => 'custom_download_view',
    'access arguments' => array('access content'),
    'access callback' => TRUE,
    );
    return $items;
  }

function custom_download_view() {
    $js = "var time_left = 5;
        var cinterval;

        function time_dec(){
            if(time_left > 0) time_left--;
            document.getElementById('countdown').innerHTML = 'Your download will start in ' + time_left + ' seconds...';
            if(time_left < 1){
                clearInterval(cinterval);
                window.location = '<?php echo $file ?>';
            }
        }

        cinterval = setInterval('time_dec()', 1000);";

    drupal_add_js($js, 'inline');
}

Risposte:


10

È possibile aggiungere elementi alla <head>sezione di una pagina Web utilizzando drupal_add_html_head().

$target = url('enable-javascript', array('absolute' => TRUE));
$meta = array(
  '#theme' => 'html_tag',
  '#tag' => 'meta',
  '#attributes' => array(
    'http-equiv' => 'refresh',
    'content' => "2; url=$target"
  )
);
$noscript = array(
  '#theme' => 'html_tag',
  '#tag' => 'noscript',
  '#value' => drupal_render($meta)
);
drupal_add_html_head($noscript, 'noscript');

Documentazione API


2
Se è necessario aggiungere markup non elaborati, è possibile utilizzare #type => markup e #markup => your_raw_markup. Vedi api.drupal.org/comment/11274#comment-11274
sanzante,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.