Почему html-теги находятся внутри <noscript> отображается как текст

У меня есть часть с надписью:

<noscript>
  <h1><?php echo $php_title; ?></h1>
  <div><?php echo $php_abstract; ?></div>
</noscript>

Когда я пытаюсь сделать это в файле .html (с удаленными тегами php, конечно), он работает как положено, но когда в файле .php я получаю этот видимый вывод в браузере (то есть, он не рассматривается как HTML-тег):

<h1>Stephen Porges "The Polyvagal Theory"</h1>

Я не устанавливаю никаких специальных заголовков в PHP:

<?php
ini_set('display_errors', 1); 
error_reporting(E_ALL);

require_once 'HTTP/Request2.php';

$url = "https://api.zotero.org/groups/56508/items/3B6TR25A?format=atom&content=json";
$r = new HTTP_Request2($url, HTTP_Request2::METHOD_GET);

$r->setConfig(array(
    'ssl_verify_peer'   => FALSE,
    'ssl_verify_host'   => FALSE
));
try {
    $response = $r->send();
    if ($response->getStatus() == 200) {
            $body = $response->getBody();
            $xml = new SimpleXMLElement($body);
            $php_content = $xml->content;
            $php_json = json_decode($php_content);
            $php_title = $php_json->title;
            $php_abstract = $php_json->abstractNote;
    }
} catch (HttpException $ex) {
    echo $ex;
    exit;
}

?>
<!DOCTYPE html>
<html lang="en">

Документ возвращается как text/html в соответствии с браузером.

Я использую Chrome, и здесь, возможно, есть ошибка, но кажется странным, что она работает нормально в .html, но не в .php, если в этом причина.

Есть идеи, что здесь происходит?

7 голосов | спросил Leo 29 Mayam14 2014, 03:21:36

1 ответ


0

Это проблема Chrome, когда он не отображается в первый раз , когда браузер загружает страницу с отключенным JavaScript. Если вы обновляете страницу после того, как она показывает простой текст, она должна быть правильно отображена.

Об этой проблеме уже сообщалось:

https://code.google.com/p/chromium/вопросы /детали? ID = 235158

Один человек с этого сайта предложил обходной путь использования чего-то вроде:

<div id="noscript">What was in the noscript-tag ..... </div>
<script type="text/javascript">
     document.getElementById('noscript').style.display="none";
     // rest of script
</script>

Следовательно, он будет скрывать элементы, только если включен JavaScript.

Я бы не сказал, что это так важно. Например, переполнение стека использует теги <noscript> независимо от того, что происходит.

ответил Anonymous 29 Mayam14 2014, 04:22:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132