我有一个noscript部分:
<noscript>
<h1><?php echo $php_title; ?></h1>
<div><?php echo $php_abstract; ?></div>
</noscript>
Run Code Online (Sandbox Code Playgroud)
当我在一个.html文件中尝试这个(当然删除了php标签)它按预期工作,但是当在.php文件中时,我在浏览器中得到这个可见的输出(即不被视为html标记) :
<h1>Stephen Porges "The Polyvagal Theory"</h1>
Run Code Online (Sandbox Code Playgroud)
我没有用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">
Run Code Online (Sandbox Code Playgroud)
text/html根据浏览器返回文档.
我使用Chrome并且这里可能存在一个错误,但它似乎很奇怪,它在.html中运行正常但不是.php,如果这是原因.
知道这里发生了什么吗?
这是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>
Run Code Online (Sandbox Code Playgroud)
因此,只有在启用JavaScript时才会隐藏元素.
我不会说这是一笔大交易.例如,Stack Overflow使用<noscript>标记,无论发生同样的情况.
| 归档时间: |
|
| 查看次数: |
2590 次 |
| 最近记录: |