Javascript没有';声明DOCTYPE时,无法在Chrome中工作

Javascript没有';声明DOCTYPE时,无法在Chrome中工作,javascript,html,google-chrome,doctype,Javascript,Html,Google Chrome,Doctype,我正在使用一个旧站点,该站点使用javascript在鼠标上方创建下拉菜单。该菜单在Chrome中运行良好,但在我添加以前缺失的时停止工作 我知道javascript可能已经过时了,但是如果没有声明doctype,它确实可以正常工作。有没有一种不用找到新脚本就能快速修复此站点的方法 <script src="/js/script_menus.js"></script> <script src="/js/script_dropdown.js"></scri

我正在使用一个旧站点,该站点使用javascript在鼠标上方创建下拉菜单。该菜单在Chrome中运行良好,但在我添加以前缺失的
时停止工作

我知道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编写它。因此,手头的问题将得到解决。

我将尝试使用过渡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
的代码,我能轻易找到的唯一相关信息是,它看起来比我老了一倍(说真的)

它似乎也是由DreamWeaver生成的,所以我认为最简单的事情
要做到这一点,未来将提供最多的支持,将用jQuery或纯CSS下拉菜单取代它。这通常不是关于javascript,而是关于DOM结构。当您不添加任何DOCTYPE declaration时,浏览器倾向于在怪癖模式下工作,这会改变DOM的行为。如果您不想更改代码中的任何内容,请尝试使用HTML4 DOCTYPE transitional,如果仍然不起作用,请添加no declaration。
但我建议修改代码,使其创建与最新doctype兼容的DOM结构。

尝试过渡doctype如果是旧站点,我猜HTML5不是文档的正确doctype?尝试html4过渡doctype。网站可能会使用一些JS怪癖,这些怪癖仅在所谓的“怪癖模式”中可用,而“怪癖模式”是在没有提供标准doctype时触发的。@comfrek:Chrome有“怪癖模式”吗?这让我感到惊讶。我以为只有IE做了。你需要去破解代码,看看哪里出了问题。如果没有细节,我们将无法帮助您。尝试了上面的声明后,代码仍然被破坏。是的,它很旧如果它在没有doctype的情况下工作,只需将doctype去掉:)但老实说,我会用新的下拉菜单替换它。删除过渡doctype并不能解决这个问题,javascript已经超出了我的理解范围:/@KnocksX为什么要添加DOCTYPE声明呢?我希望在不破坏任何东西的情况下尽可能地使它符合法规。例如,它之前没有指定字符集,这可能使它容易受到脚本攻击。我只是想尽可能多地消除这种情况。如果不先看脚本,很难说出任何事情。但我可以看出,在“怪癖”模式下,默认情况下,身高是100%,而在“标准”模式下,身高是由内容决定的。这可能是一个起点。我觉得它在展示一些东西,但可能高度为零。也可以通过按F12打开浏览器控制台,并确保在标准模式下尝试时不会出现任何javascript错误。我正在用CSS重写整个菜单,并删除这个可笑的javascript。谢谢你的帮助!