提交 de6ea1ab 编写于 作者: T tfennelly

IE compatibility mode tweaks

Set "X-UA-Compatible" meta tag (MSIE browsers only - forces browser compatibility mode)
JS based warning if Document Mode doesn't match IE version (MSIE browsers only)
上级 78be1aeb
......@@ -202,7 +202,8 @@ public class Functions {
}
public static void initPageVariables(JellyContext context) {
String rootURL = Stapler.getCurrentRequest().getContextPath();
StaplerRequest currentRequest = Stapler.getCurrentRequest();
String rootURL = currentRequest.getContextPath();
Functions h = new Functions();
context.setVariable("h", h);
......@@ -222,6 +223,8 @@ public class Functions {
*/
context.setVariable("resURL",rootURL+getResourcePath());
context.setVariable("imagesURL",rootURL+getResourcePath()+"/images");
context.setVariable("userAgent", currentRequest.getHeader("User-Agent"));
}
/**
......
......@@ -67,6 +67,7 @@ ${h.initPageVariables(context)}
this also allows us to configure HttpSessionContextIntegrationFilter not to create sessions,
which I suspect can end up creating sessions for wrong resource types (such as static resources.)
-->
<j:set var="isMSIE" value="${userAgent.contains('MSIE')}"/>
<j:set var="_" value="${request.getSession()}"/>
<j:set var="_" value="${h.configureAutoRefresh(request, response, attrs.norefresh!=null and !attrs.norefresh.equals(false))}"/>
<j:if test="${request.servletPath=='/' || request.servletPath==''}">
......@@ -80,6 +81,10 @@ ${h.initPageVariables(context)}
<head>
${h.checkPermission(it,permission)}
<j:if test="${isMSIE}">
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
</j:if>
<title>${h.appendIfNotNull(title, ' [Jenkins]', 'Jenkins')}</title>
<link rel="stylesheet" href="${resURL}/css/style.css" type="text/css" />
<link rel="stylesheet" href="${resURL}/css/color.css" type="text/css" />
......@@ -122,6 +127,10 @@ ${h.initPageVariables(context)}
<script src="${resURL}/scripts/hudson-behavior.js" type="text/javascript"></script>
<script src="${resURL}/scripts/sortable.js" type="text/javascript"/>
<j:if test="${isMSIE}">
<script src="${resURL}/scripts/msie.js" type="text/javascript"/>
</j:if>
<script>
crumb.init("${h.getCrumbRequestField()}", "${h.getCrumb(request)}");
</script>
......
/*
* The MIT License
*
* Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi,
* Daniel Dyer, Yahoo! Inc., Alan Harder, InfraDNA, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
function assertDocumentModeOK() {
if (YAHOO.env.ua.ie) {
setTimeout(function() {
if (YAHOO.env.ua.ie !== document.documentMode) {
alert("WARNING: Your Internet Explorer appears to be set to a non-default 'Document Mode' (see Developer Tools - press F12).\n" +
"\n" +
"Jenkins may not display properly in this browser.");
}
}, 1500);
}
}
assertDocumentModeOK();
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册