我有一个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。
知道这里发生了什么事吗?
答案 0 :(得分:5)
这是chrome的一个问题,它没有呈现第一次浏览器加载禁用JavaScript的页面。如果在显示纯文本后刷新页面,则应正确呈现该页面。
此问题已经报道:
https://code.google.com/p/chromium/issues/detail?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时才会隐藏元素。
我不会说这是一笔大交易。例如,Stack Overflow使用<noscript>
标记,无论发生同样的情况。