php - JavaScript 菜单在 Chrome 中行为异常

标签 php html javascript google-chrome firefox

我在一个网站上有一个下拉 javascript 菜单,它被一些 php 包含到每个页面中。在 Firefox 中没有问题,但在 Chrome 中查看时,菜单在大多数页面(但不是全部)上表现得很奇怪,而且我无法弄清楚少数正确页面上发生了什么。

主页在任一版本中看起来都不错:http://solve-et-coagula.us/

像这个页面一样,大多数(在 Chrome 中)在菜单上方添加一个空格:http://solve-et-coagula.us/design.php

此页面正确显示:/rabbithole/k_2.php

这个没有:/hermeticism/gunas.php

此外,在 Chrome 中的所有情况下,下拉菜单都显示在菜单图像的顶部而不是底部。

我已经使用该菜单有一段时间了,几年前就在某个地方获取了该格式并对其进行了美观的调整。

页面的开头类似于(k_2.php):

<?php
session_name("MyLogin");
session_start();
include($_SERVER['DOCUMENT_ROOT']."/menu.html");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>Registration</title>
<meta content="text/html" http-equiv="Content-Type" />
<link rel="stylesheet" type="text/css" href="rabbithole.css" />
<link rel="stylesheet" type="text/css" href="/general.css" />
<script src="/javascript.js" type="text/javascript"></script>
<script src="rabbithole.js" type="text/javascript"></script>
</head>
<body>
<table border="0" cellspacing="20" width="100%">
<tr>
<td class="title"><h1>Create an Account</h1></td>
</tr>
[...]
<小时/>

这是图形设计页面

<?php
session_name("MyLogin");
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>Graphic & Web Design</title>
<meta content="text/html" http-equiv="Content-Type" />
<link rel="stylesheet" type="text/css" href="rabbithole/rabbithole.css" />
<link rel="stylesheet" type="text/css" href="general.css" />
<script src="javascript.js" type="text/javascript"></script>
</head>
<body>
<?php
include($_SERVER['DOCUMENT_ROOT']."/menu.html");
?>
<table border="0" cellspacing="20" width="100%">
<tr>
<td class="title"><h1>Graphic & Web Design</h1></td>
</tr>
<tr>
<td>
<p>
[...]
<小时/>

这是完整的 menu.html 文件

<div align="center" id="page">
<div id="header">
<div id="mainmenu">
<span onmouseover="dropdownmenu(this, event, menu1, '146px')" onclick="return clickreturnvalue()" onmouseout="delayhidemenu()"><img alt="Hermetic Qabalah" class="menuimages" src="/images/libri.png" /></span>
<span onmouseover="dropdownmenu(this, event, menu2, '146px')" onclick="return clickreturnvalue()" onmouseout="delayhidemenu()"><img alt="Eastern Mysticism" class="menuimages" src="/images/theology.png" /></span>
<span onmouseover="dropdownmenu(this, event, menu3, '146px')" onclick="return clickreturnvalue()" onmouseout="delayhidemenu()"><img alt="Ceremonial Magick" class="menuimages" src="/images/rituals.png" /></span>
<span onmouseover="dropdownmenu(this, event, menu4, '146px')" onclick="return clickreturnvalue()" onmouseout="delayhidemenu()"><img alt="Solve et Coagula" class="menuimages" src="/images/solveetcoagula.png" /></span>
<span onmouseover="dropdownmenu(this, event, menu5, '146px')" onclick="return clickreturnvalue()" onmouseout="delayhidemenu()"><img alt="Liber Legis" class="menuimages" src="/images/thelema.png" /></span>
<span onmouseover="dropdownmenu(this, event, menu6, '146px')" onclick="return clickreturnvalue()" onmouseout="delayhidemenu()"><img alt="Lemegeton" class="menuimages" src="/images/lemegeton.png" /></span>
<span onmouseover="dropdownmenu(this, event, menu7, '146px')" onclick="return clickreturnvalue()" onmouseout="delayhidemenu()"><img alt="Miscellanea" class="menuimages" src="/images/hermeticism.png" /></span>
</div>
</div>
</div>

如有帮助,我们将不胜感激;这个问题还没有解决。

最佳答案

关于http://solve-et-coagula.us/design.php顶部有额外的 ""(其他页面上不存在),将其删除后菜单将正确显示。

查看该页面的代码,看看 PHP 是否回显任何额外内容。

enter image description here

此外,您应该在 head 元素内添加元链接和标题标记。

关于php - JavaScript 菜单在 Chrome 中行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21442654/

相关文章:

javascript - 如何使用 JS 或 Jquery 删除父 html 元素?

html - 如果未解析的路径不同,浏览器是否会删除重复的 HTML 导入?

javascript - AngularJS/Typescript 集成模式 - 范围方法

php - 如何防止 PHP 中的 SQL 注入(inject)?

PHP数组到SQL

javascript - 使用 JS 和 php 将跨度文本发送到另一个页面

javascript - 表单只能通过“提交”按钮提交

Javascript JSLint 创建 n 个元素

JavaScript:用括号括住逗号分隔值

php - 使用 CodeIgniter 更新 MySQL 表中的行