我在jsp页面上遇到此错误。 在此网站上搜索了一些可能的答案后,我决定包含以下脚本标记:
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>
但是,我现在在页面加载时收到此警告:
JQMIGRATE:jQuery与Quirks Mode不兼容
我再次得到浏览器未定义的错误。
以下是我包含的jQuery脚本标记:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" ></script>
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>
<link rel="stylesheet" href="<%=request.getContextPath()%>/js/page/jquery-ui.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/dealerActions/jquery.validationEngine-en.js"></script>
<script type="text/javascript" src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
现在,我的jsp页面确实以这种方式开始:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="com.bluestar.core.logger.ApplicationLogger"%>
<%@page session="true" contentType="text/html" pageEncoding="ISO-8859-1" import="java.util.*,javax.portlet.*" %>
由于我在开始时已经包含了doctype,因此我不应该使用&#34; Quirks模式&#34;警告。我该怎么做才能避免这个错误?
答案 0 :(得分:1)
如果您在网页中放入以下DOCTYPE:
现代浏览器(Android 1 +,Chrome 1 +,IE 6 +,iOS 1 +,Firefox 1 +,Netscape 6 +,Opera 6 +,Safari 1+)将以下列方式解释:
因为有正确编写的DOCTYPE,所以会触发标准模式。 这是一个HTML 4.01 Transitional文档 因为它处于标准模式,所以大多数浏览器都会使用HTML 4.01 Transitional来呈现符合(或大部分兼容)的内容 如果你把这个DOCTYPE放在你的文件中:
这告诉现代浏览器您要严格遵守DTD显示HTML 4.01页面。这些浏览器将进入“严格”或“标准”模式,并使页面符合标准。 (因此,对于本文档,浏览器可能会完全忽略标记,因为在HTML 4.01 Strict中不推荐使用FONT元素。)
因此您只需将doctype更改为HTML5标准即可。
顺便说一下jquery-ui.min.js和jquery-ui.js除了它们的大小和布局是相同的,所以请摆脱这一行:
答案 1 :(得分:1)
记入http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed
jQuery.browser()
已删除
jQuery.browser()
方法自jQuery 1.3
以来已被弃用,并在1.9中删除。如果需要,它可作为jQuery Migrate plugin
的一部分提供。我们建议对像Modernizr这样的库使用特征检测。
如果您仍然需要此功能,您可以从https://github.com/gabceb/jquery-browser-plugin获取一个js文件 并将js链接到您的文件。