Pergunta

Eu estou tentando fazer referência a um arquivo JavaScript, contendo uma função tabela de classificação, em um arquivo PHP. Tudo funciona da maneira que deveria, mas uma vez que eu adicionar o código abaixo para a minha página do relatório PHP que provoca problemas com o formato das abas na minha página de navegação. O mesmo problema surge se eu adicionar um fora document.write aleatória do código PHP. Não é um grande problema, mas em vez feio para o usuário.

Existe uma maneira melhor para fazer referência ao doc fonte de JavaScript que não interfer com o meu formato de página de navegação php? Eu sinto que há uma correção simples que não estou agarrando.

<script language="JavaScript" src="include/sorttable.js"></script>

Também é usado um echo o PHP dentro das tags PHP para fazer a chamada, mesmo problema.

Aqui está parte do código de navegação para as abas que a questão formato está vindo em cima.

<?php

//////////////////////////////////////////////////////////////////////////////////////////////////
function start_page_printer_friendly(
      $section = "home",
      $headContents = null,
      $bodyAttributes = null
)
//////////////////////////////////////////////////////////////////////////////////////////////////

{?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title><?php print $page_title; ?></title>
<link href="/trellis_portal/include/portal.css" media="screen"
   rel="Stylesheet" type="text/css" />
      <?php if ( ! is_null($headContents)) { print $headContents; } ?>
   </head>

<body onload="printpage();" <?php if ( ! is_null($bodyAttributes)) { print $bodyAttributes; } ?>>
   <script language="JavaScript">
      <!--
         function printpage() { window.print(); }
      -->
   </script>
<br />
<?php                     
}

//////////////////////////////////////////////////////////////////////////////////////////////////
function start_page( $section = "home",
                     $subsection = null,
                     $headContents = null,
                     $bodyAttributes = null
                   )
//////////////////////////////////////////////////////////////////////////////////////////////////
{   
    if (isset($_GET['printer']))
    {
        start_page_printer_friendly();
        return;
    }
   $section = strtolower($section);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title><?php print $page_title; ?></title>

 <?php if ( ! is_null($headContents)) { print $headContents; } ?>
   </head>

<body class=" yui-skin-sam" <?php if ( ! is_null($bodyAttributes)) { print $bodyAttributes; } ?>>
<br />


<div id="header">
<ul>
<!-- 
   <li><a class="<?php print tabSelector($section, 'executive'); ?>"
      href="/trellis_portal/portal.php?section=executive&title=Executive">Executive</a></li>
   <li><a
      class="<?php print tabSelector($section, 'community'); ?>"
      href="/trellis_portal/portal.php?section=community&title=Community">Community</a></li>
-->   
   <li><a class="<?php print tabSelector($section, 'trellis'); ?>"
      href="/trellis_portal/portal.php?section=trellis&title=Trellis">Trellis</a></li>
<!-- 
Foi útil?

Solução

Eu ainda não entendo o que você espera, mas uma coisa que eu já pode ver: fora tudo é transposto literalmente, assim

?>
<!DOCTYPE...

irá introduzir um espaço em branco extra (nova linha) no início antes de DOCTYPE.

Além disso, o término do script (->) irá gerar JS erro de sintaxe. É HTML válida, mas deve ser comentada (// ->). Em JS

Outras dicas

Eu realmente não entendo a situação ainda, mas você precisa estar ciente de que não há nada PHP relacionado na sua página, only / CSS / Javascript código HTML que passou a ser gerado pelo PHP . Então você precisa olhar para o seu código HTML e ver qual é o problema lá. Você pode, então, deseja atualizar sua pergunta com código HTML.

SCRIPT marcas, em si, não pode afetar elementos ou de layout dentro da página.

Seu problema é provável que em outros lugares. Para depurar isso eu iria ignorar o PHP eo foco na saída HTML e olhar para tags não fechadas e inválido marcação etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top