我有使用php include的页面。主页分为表格。左边的单元格是带有菜单的嵌套表格,右边的单元格是包含页面。我包括整个php页面,开始标记和结束标记。但我现在发现,当包含页面没有内容标题,标签正文等时是正确的,因为结果页面有两个标题,两个标记正文等。我的方法是来自框架的不合时宜。但我的网页工作正确。当我想要更改插入页面 - 删除标题,标签正文,标签html - 出现问题。我的主页面中的菜单丢失了css格式。网络几乎是完整的,我很懒,修复这个。通过框架技术包括整页是致命的错误吗?为什么?
答案 0 :(得分:1)
拥有多个<head>
和/或多个<body>
代码不是有效的HTML,您不应该这样做。
浏览器在解析无效HTML时会被设计为宽容,但不同浏览器或浏览器版本的行为不是标准化的。换句话说,无效页面可能与浏览器如何处理HTML中存在的错误有一些愉快的巧合,但您无法保证您的页面将正确显示。
我猜你丢失一些CSS样式的原因是因为浏览器选择删除一个额外的<head>
块以应对无效的HTML,并<head>
阻止包括指向样式表的链接。
答案 1 :(得分:0)
好的,这是代码。 主页是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="Content-language" content="cs" />
<link rel="sheet" type="text/css" href="styly.css">
<script language="JavaScript" type="text/javascript">
function winH(){
if (window.innerHeight)
//NN4 a kompatibilní prohlížeče
return window.innerHeight;
else if
(document.documentElement &&
document.documentElement.clientHeight)
//MSIE6 v std. režimu - Opera a Mozilla
//již uspěly s window.innerHeight
return document.documentElement.clientHeight;
else if
(document.body && document.body.clientHeight)
//starší MSIE + MSIE6 v quirk režimu
return document.body.clientHeight;
else
return null;
}
function odsazeniBackTop(){
if(winH()<750){
return 0;
}
if(winH()>750 && winH()<850){
return 100;
}
if(winH()>850){
return 150;
}
return 0;
}
function zmena1(){
var url="http://ryska.webzdarma.cz/index2.php?page=";
var td1 = document.getElementById("bunka1");
td1.innerHTML="<b><a href="+url+"hlavniStrana class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Hlavní stránka</a></b>";
var td2 = document.getElementById("bunka2");
td2.innerHTML="<b><a href="+url+"oznameniUvod class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Svatební oznámení</a></b>";
var td3 = document.getElementById("bunka3");
td3.innerHTML="<b><a href="+url+"galerie class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Galerie</a></b>";
var td4 = document.getElementById("bunka4");
td4.innerHTML="<b><a href="+url+"kontakt class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Kontakt</a></b>";
}
function zmena2(){
var url="http://ryska.webzdarma.cz/index2.php?page=";
var td1 = document.getElementById("bunka1");
td1.innerHTML="<b><a href="+url+"hlavniStrana class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Hlavní stránka</a></b>";
var td2 = document.getElementById("bunka2");
td2.innerHTML="<b><a href="+url+"oznameniUvod class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Svatební oznámení</a><br>  <a href="+url+"oznameniUvod class='odkazOut2' onMouseOver='this.className=\"odkazOver2\"' onMouseOut='this.className=\"odkazOut2\"'>Úvod</a><br>  <a href="+url+"oznameniPrani class='odkazOut2' onMouseOver='this.className=\"odkazOver2\"' onMouseOut='this.className=\"odkazOut2\"'>Oznámení na zakázku</a><br>  <a href="+url+"oznameniKatalog class='odkazOut2' onMouseOver='this.className=\"odkazOver2\"' onMouseOut='this.className=\"odkazOut2\"'>Katalogová oznámení</a></b>";
var td3 = document.getElementById("bunka3");
td3.innerHTML="<b><a href="+url+"galerie class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Galerie</a></b>";
var td4 = document.getElementById("bunka4");
td4.innerHTML="<b><a href="+url+"kontakt class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Kontakt</a></b>";
}
function zmena3(){
var url="http://ryska.webzdarma.cz/index2.php?page=";
var td1 = document.getElementById("bunka1");
td1.innerHTML="<b><a href="+url+"hlavniStrana class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Hlavní stránka</a></b>";
var td2 = document.getElementById("bunka2");
td2.innerHTML="<b><a href="+url+"oznameniUvod class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Svatební oznámení</a></b>";
var td3 = document.getElementById("bunka3");
td3.innerHTML="<b><a href="+url+"galerie class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Galerie</a><br>  <a href="+url+"galerieFoto&typ=zelene class='odkazOut2' onMouseOver='this.className=\"odkazOver2\"' onMouseOut='this.className=\"odkazOut2\"'>Zelené odstíny</a><br>  <a href="+url+"galerieFoto&typ=kremove class='odkazOut2' onMouseOver='this.className=\"odkazOver2\"' onMouseOut='this.className=\"odkazOut2\"'>Krémové odstíny</a></b>";
var td4 = document.getElementById("bunka4");
td4.innerHTML="<b><a href="+url+"kontakt class='odkazOut' onMouseOver='this.className=\"odkazOver\"' onMouseOut='this.className=\"odkazOut\"'>Kontakt</a></b>";
}
function nacteniStranky(){
adresa = location.href;
subAdr1=adresa.substring(42,55);
subAdr2=adresa.substring(42,52);
if(adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=oznameniUvod")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=oznameniPrani")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=oznameniKatalog")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=obchodniPodminky")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=praniFormular")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=katalogFormular")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=praniFormular1")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=praniFormular2")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=praniFormular3")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=paleta")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=doplnky")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=nevhodneFotky")==0
|| subAdr1.localeCompare("katalogovaBig")==0)
{
zmena2();
}else if(adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=galerie")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=galerieFoto&typ=zelene")==0
|| adresa.localeCompare("http://ryska.webzdarma.cz/index2.php?page=galerieFoto&typ=kremove")==0
|| subAdr2.localeCompare("galerieBig")==0)
{
zmena3();
}
else{
zmena1();
}
var tabulka = document.getElementById("tabulka");
tabulka.style.position="relative";
tabulka.style.top=odsazeniBackTop();
}
</script>
</head>
<body onload="nacteniStranky()" style="background-color: #d1ae6e">
<table id="tabulka" background="background.jpg" width="1250" height="670"
align="center" >
<tr>
<td width="70">
</td>
<td width="320">
<?php
$filename='hlavni.php'; // výchozí stránka
if (!empty($_GET['app'])) // je požadována nějaká aplikace/skript?
{
if (File_Exists ($_GET['app'].'.php'))
{ // pokud existuje požadovaný skript ve složce Controls, nastavit vkládaný soubor na jméno skriptu
$filename=$_GET['app'].'.php';
}
}
elseif (!empty($_GET['page'])) // nebo je požadována nějaká stránka?
{
if (File_Exists($_GET['page'].'.php'))
{ // pokud existuje požadovaná stránka ve složce Pages, nastavit vkládaný soubor na jméno stránky
$filename=$_GET['page'].'.php';
}
}
?>
<table style="font-family: 'Kristen ITC';font-size: 25px">
<tr style="height: 40px">
<td id="bunka1" onclick="zmena1()" onMouseOver="this.className='pozadiInsert'"
onMouseOut="this.className='pozadi'">
</td>
</tr>
<tr style="height: 40px">
<td id="bunka2" onclick="zmena2()"onMouseOver="this.className='pozadiInsert'"
onMouseOut="this.className='pozadi'" >
</td>
</tr>
<tr style="height: 40px">
<td id="bunka3" onclick="zmena3()" onMouseOver="this.className='pozadiInsert'"
onMouseOut="this.className='pozadi'" >
</td>
</tr>
<tr style="height: 40px">
<td id="bunka4" onclick="zmena1()" onMouseOver="this.className='pozadiInsert'"
onMouseOut="this.className='pozadi'">
</td>
</tr>
</table>
</td>
<td>
<?php
include($filename);
?>
</td>
</tr>
</table>
</body>
</html>
当我将f.e包括在内时:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="PSPad editor, www.pspad.com">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="Content-language" content="cs" />
<link rel="stylesheet" type="text/css" href="styly.css">
<title></title>
</head>
<body>
<div class="includePage" style="font-size: 25px">
grafika.mail@seznam.cz
<br>
<br>
+420773395498
</div>
</body>
</html>
一切都是对的。但是当我把这个包括在内时:
<?php
echo '<div class="includePage" style="font-size: 25px">
grafika.mail@seznam.cz
<br>
+420755595498
</div>';
?>
出现问题,主页面中的菜单没有格式化。顺便说一句,我的javascript菜单不是最好的解决方案,我知道。