我正在使用一个旧网站,该网站在鼠标悬停时使用javascript作为下拉菜单。该菜单在Chrome中运行良好,但在我添加之前遗失的<!DOCTYPE html>
时停止工作。
我知道javascript可能已经过时了,但是如果没有声明doctype,它确实可以正常工作。有没有快速的方法来修复这个网站而没有找到新的脚本?
<script src="/js/script_menus.js"></script>
<script src="/js/script_dropdown.js"></script>
<td><a onMouseOut="MM_swapImgRestore();FW_startTimeout();"
onMouseOver="window.FW_showMenu(window.fw_menu_1,51,109);
MM_swapImage('img2','','img/nav_02_over.gif',1);" href="productinfo.html">
<img src="img/nav_02.gif" width="102" height="26" name="img2"></a></td>
更新
我知道这不能回答这个问题,但我已经决定杀掉这个愚蠢的javascript菜单并用CSS编写。所以手头的问题将会得到解决。
答案 0 :(得分:4)
我尝试使用过渡型doctype,就像这样
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
因为我猜你的网站上有过时的HTML和Javascript元素,这会给你一个非常宽松的doctype,几乎可以让任何事情发生
看起来您拥有window.FW_showMenu
的代码,我唯一可以轻松找到相关信息的网站是this one,它看起来像是我的两倍(严重)。
它似乎也是由DreamWeaver生成的,所以我认为最简单的事情 要做到这一点将为未来提供大多数支持将用jQuery或纯CSS下拉菜单替换它
答案 1 :(得分:1)
它通常不是关于javascript而是DOM结构。当您不添加任何DOCTYPE decleration浏览器时,往往会在quirks模式下工作,这会改变DOM的行为。如果您不想更改代码中的任何内容,请尝试使用HTML4 DOCTYPE过渡,如果仍然无效,则不添加任何删除。 但我建议修改代码,以便创建一个与最新DOCTYPE兼容的DOM结构。