Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
986a7a45
J
jenkins
项目概览
xxadev
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
986a7a45
编写于
8月 11, 2014
作者:
T
tfennelly
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[FIXED JENKINS-23921] new <div>s layout doesn't work with IE8
上级
ec22212b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
12 deletion
+28
-12
core/src/main/resources/lib/layout/layout.jelly
core/src/main/resources/lib/layout/layout.jelly
+7
-6
war/src/main/webapp/scripts/msie.js
war/src/main/webapp/scripts/msie.js
+16
-6
war/src/main/webapp/scripts/respond.js
war/src/main/webapp/scripts/respond.js
+5
-0
未找到文件。
core/src/main/resources/lib/layout/layout.jelly
浏览文件 @
986a7a45
...
...
@@ -78,7 +78,7 @@ ${h.initPageVariables(context)}
</j:if>
<x:doctype
name=
"html"
/>
<html>
<head>
<head
resURL=
"${resURL}"
>
${h.checkPermission(it,permission)}
<j:if
test=
"${isMSIE}"
>
...
...
@@ -127,14 +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>
<link
rel=
"stylesheet"
href=
"${resURL}/scripts/yui/container/assets/container.css"
type=
"text/css"
/>
<link
rel=
"stylesheet"
href=
"${resURL}/scripts/yui/assets/skins/sam/skin.css"
type=
"text/css"
/>
<link
rel=
"stylesheet"
href=
"${resURL}/scripts/yui/container/assets/skins/sam/container.css"
type=
"text/css"
/>
...
...
@@ -151,6 +147,11 @@ ${h.initPageVariables(context)}
<j:forEach
var=
"pd"
items=
"${h.pageDecorators}"
>
<st:include
it=
"${pd}"
page=
"header.jelly"
optional=
"true"
/>
</j:forEach>
<j:if
test=
"${isMSIE}"
>
<script
src=
"${resURL}/scripts/msie.js"
type=
"text/javascript"
/>
<
/j:if
>
<
/head
>
<
body
id
=
"
jenkins
"
class
=
"
yui-skin-sam jenkins-${h.version}
"
data
-
version
=
"
jenkins-${h.version}
"
>
<!--
for
accessibility
,
skip
the
entire
navigation
bar
and
etc
and
go
straight
to
the
head
of
the
content
-->
...
...
war/src/main/webapp/scripts/msie.js
浏览文件 @
986a7a45
...
...
@@ -24,16 +24,26 @@
*/
function
assertDocumentModeOK
()
{
if
(
YAHOO
.
env
.
ua
.
ie
)
{
if
(
YAHOO
.
env
.
ua
.
ie
&&
YAHOO
.
env
.
ua
.
ie
!==
document
.
documentMode
)
{
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.
"
);
}
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
();
// IE 8 and before tweaks....
if
(
YAHOO
.
env
.
ua
.
ie
&&
YAHOO
.
env
.
ua
.
ie
<
9
)
{
function
loadRespondJS
()
{
var
head
=
document
.
getElementsByTagName
(
'
head
'
)[
0
];
var
script
=
document
.
createElement
(
'
script
'
);
script
.
setAttribute
(
'
src
'
,
head
.
getAttribute
(
'
resURL
'
)
+
'
/scripts/respond.js
'
);
head
.
appendChild
(
script
);
}
loadRespondJS
();
}
war/src/main/webapp/scripts/respond.js
0 → 100644
浏览文件 @
986a7a45
/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
* Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
* */
!
function
(
a
){
"
use strict
"
;
a
.
matchMedia
=
a
.
matchMedia
||
function
(
a
){
var
b
,
c
=
a
.
documentElement
,
d
=
c
.
firstElementChild
||
c
.
firstChild
,
e
=
a
.
createElement
(
"
body
"
),
f
=
a
.
createElement
(
"
div
"
);
return
f
.
id
=
"
mq-test-1
"
,
f
.
style
.
cssText
=
"
position:absolute;top:-100em
"
,
e
.
style
.
background
=
"
none
"
,
e
.
appendChild
(
f
),
function
(
a
){
return
f
.
innerHTML
=
'
­<style media="
'
+
a
+
'
"> #mq-test-1 { width: 42px; }</style>
'
,
c
.
insertBefore
(
e
,
d
),
b
=
42
===
f
.
offsetWidth
,
c
.
removeChild
(
e
),{
matches
:
b
,
media
:
a
}}}(
a
.
document
)}(
this
),
function
(
a
){
"
use strict
"
;
function
b
(){
u
(
!
0
)}
var
c
=
{};
a
.
respond
=
c
,
c
.
update
=
function
(){};
var
d
=
[],
e
=
function
(){
var
b
=!
1
;
try
{
b
=
new
a
.
XMLHttpRequest
}
catch
(
c
){
b
=
new
a
.
ActiveXObject
(
"
Microsoft.XMLHTTP
"
)}
return
function
(){
return
b
}}(),
f
=
function
(
a
,
b
){
var
c
=
e
();
c
&&
(
c
.
open
(
"
GET
"
,
a
,
!
0
),
c
.
onreadystatechange
=
function
(){
4
!==
c
.
readyState
||
200
!==
c
.
status
&&
304
!==
c
.
status
||
b
(
c
.
responseText
)},
4
!==
c
.
readyState
&&
c
.
send
(
null
))};
if
(
c
.
ajax
=
f
,
c
.
queue
=
d
,
c
.
regex
=
{
media
:
/@media
[^\{]
+
\{([^\{\}]
*
\{[^\}\{]
*
\})
+/gi
,
keyframes
:
/@
(?:\-(?:
o|moz|webkit
)\-)?
keyframes
[^\{]
+
\{(?:[^\{\}]
*
\{[^\}\{]
*
\})
+
[^\}]
*
\}
/gi
,
urls
:
/
(
url
\()[
'"
]?([^\/\)
'"
][^
:
\)
'"
]
+
)[
'"
]?(\))
/g
,
findStyles
:
/@media *
([^\{]
+
)\{([\S\s]
+
?)
$/
,
only
:
/
(
only
\s
+
)?([
a-zA-Z
]
+
)\s?
/
,
minw
:
/
\([\s]
*min
\-
width
\s
*:
[\s]
*
([\s]
*
[
0-9
\.]
+
)(
px|em
)[\s]
*
\)
/
,
maxw
:
/
\([\s]
*max
\-
width
\s
*:
[\s]
*
([\s]
*
[
0-9
\.]
+
)(
px|em
)[\s]
*
\)
/
},
c
.
mediaQueriesSupported
=
a
.
matchMedia
&&
null
!==
a
.
matchMedia
(
"
only all
"
)
&&
a
.
matchMedia
(
"
only all
"
).
matches
,
!
c
.
mediaQueriesSupported
){
var
g
,
h
,
i
,
j
=
a
.
document
,
k
=
j
.
documentElement
,
l
=
[],
m
=
[],
n
=
[],
o
=
{},
p
=
30
,
q
=
j
.
getElementsByTagName
(
"
head
"
)[
0
]
||
k
,
r
=
j
.
getElementsByTagName
(
"
base
"
)[
0
],
s
=
q
.
getElementsByTagName
(
"
link
"
),
t
=
function
(){
var
a
,
b
=
j
.
createElement
(
"
div
"
),
c
=
j
.
body
,
d
=
k
.
style
.
fontSize
,
e
=
c
&&
c
.
style
.
fontSize
,
f
=!
1
;
return
b
.
style
.
cssText
=
"
position:absolute;font-size:1em;width:1em
"
,
c
||
(
c
=
f
=
j
.
createElement
(
"
body
"
),
c
.
style
.
background
=
"
none
"
),
k
.
style
.
fontSize
=
"
100%
"
,
c
.
style
.
fontSize
=
"
100%
"
,
c
.
appendChild
(
b
),
f
&&
k
.
insertBefore
(
c
,
k
.
firstChild
),
a
=
b
.
offsetWidth
,
f
?
k
.
removeChild
(
c
):
c
.
removeChild
(
b
),
k
.
style
.
fontSize
=
d
,
e
&&
(
c
.
style
.
fontSize
=
e
),
a
=
i
=
parseFloat
(
a
)},
u
=
function
(
b
){
var
c
=
"
clientWidth
"
,
d
=
k
[
c
],
e
=
"
CSS1Compat
"
===
j
.
compatMode
&&
d
||
j
.
body
[
c
]
||
d
,
f
=
{},
o
=
s
[
s
.
length
-
1
],
r
=
(
new
Date
).
getTime
();
if
(
b
&&
g
&&
p
>
r
-
g
)
return
a
.
clearTimeout
(
h
),
h
=
a
.
setTimeout
(
u
,
p
),
void
0
;
g
=
r
;
for
(
var
v
in
l
)
if
(
l
.
hasOwnProperty
(
v
)){
var
w
=
l
[
v
],
x
=
w
.
minw
,
y
=
w
.
maxw
,
z
=
null
===
x
,
A
=
null
===
y
,
B
=
"
em
"
;
x
&&
(
x
=
parseFloat
(
x
)
*
(
x
.
indexOf
(
B
)
>-
1
?
i
||
t
():
1
)),
y
&&
(
y
=
parseFloat
(
y
)
*
(
y
.
indexOf
(
B
)
>-
1
?
i
||
t
():
1
)),
w
.
hasquery
&&
(
z
&&
A
||!
(
z
||
e
>=
x
)
||!
(
A
||
y
>=
e
))
||
(
f
[
w
.
media
]
||
(
f
[
w
.
media
]
=
[]),
f
[
w
.
media
].
push
(
m
[
w
.
rules
]))}
for
(
var
C
in
n
)
n
.
hasOwnProperty
(
C
)
&&
n
[
C
]
&&
n
[
C
].
parentNode
===
q
&&
q
.
removeChild
(
n
[
C
]);
n
.
length
=
0
;
for
(
var
D
in
f
)
if
(
f
.
hasOwnProperty
(
D
)){
var
E
=
j
.
createElement
(
"
style
"
),
F
=
f
[
D
].
join
(
"
\n
"
);
E
.
type
=
"
text/css
"
,
E
.
media
=
D
,
q
.
insertBefore
(
E
,
o
.
nextSibling
),
E
.
styleSheet
?
E
.
styleSheet
.
cssText
=
F
:
E
.
appendChild
(
j
.
createTextNode
(
F
)),
n
.
push
(
E
)}},
v
=
function
(
a
,
b
,
d
){
var
e
=
a
.
replace
(
c
.
regex
.
keyframes
,
""
).
match
(
c
.
regex
.
media
),
f
=
e
&&
e
.
length
||
0
;
b
=
b
.
substring
(
0
,
b
.
lastIndexOf
(
"
/
"
));
var
g
=
function
(
a
){
return
a
.
replace
(
c
.
regex
.
urls
,
"
$1
"
+
b
+
"
$2$3
"
)},
h
=!
f
&&
d
;
b
.
length
&&
(
b
+=
"
/
"
),
h
&&
(
f
=
1
);
for
(
var
i
=
0
;
f
>
i
;
i
++
){
var
j
,
k
,
n
,
o
;
h
?(
j
=
d
,
m
.
push
(
g
(
a
))):(
j
=
e
[
i
].
match
(
c
.
regex
.
findStyles
)
&&
RegExp
.
$1
,
m
.
push
(
RegExp
.
$2
&&
g
(
RegExp
.
$2
))),
n
=
j
.
split
(
"
,
"
),
o
=
n
.
length
;
for
(
var
p
=
0
;
o
>
p
;
p
++
)
k
=
n
[
p
],
l
.
push
({
media
:
k
.
split
(
"
(
"
)[
0
].
match
(
c
.
regex
.
only
)
&&
RegExp
.
$2
||
"
all
"
,
rules
:
m
.
length
-
1
,
hasquery
:
k
.
indexOf
(
"
(
"
)
>-
1
,
minw
:
k
.
match
(
c
.
regex
.
minw
)
&&
parseFloat
(
RegExp
.
$1
)
+
(
RegExp
.
$2
||
""
),
maxw
:
k
.
match
(
c
.
regex
.
maxw
)
&&
parseFloat
(
RegExp
.
$1
)
+
(
RegExp
.
$2
||
""
)})}
u
()},
w
=
function
(){
if
(
d
.
length
){
var
b
=
d
.
shift
();
f
(
b
.
href
,
function
(
c
){
v
(
c
,
b
.
href
,
b
.
media
),
o
[
b
.
href
]
=!
0
,
a
.
setTimeout
(
function
(){
w
()},
0
)})}},
x
=
function
(){
for
(
var
b
=
0
;
b
<
s
.
length
;
b
++
){
var
c
=
s
[
b
],
e
=
c
.
href
,
f
=
c
.
media
,
g
=
c
.
rel
&&
"
stylesheet
"
===
c
.
rel
.
toLowerCase
();
e
&&
g
&&!
o
[
e
]
&&
(
c
.
styleSheet
&&
c
.
styleSheet
.
rawCssText
?(
v
(
c
.
styleSheet
.
rawCssText
,
e
,
f
),
o
[
e
]
=!
0
):(
!
/^
([
a-zA-Z:
]
*
\/\/)
/
.
test
(
e
)
&&!
r
||
e
.
replace
(
RegExp
.
$1
,
""
).
split
(
"
/
"
)[
0
]
===
a
.
location
.
host
)
&&
(
"
//
"
===
e
.
substring
(
0
,
2
)
&&
(
e
=
a
.
location
.
protocol
+
e
),
d
.
push
({
href
:
e
,
media
:
f
})))}
w
()};
x
(),
c
.
update
=
x
,
c
.
getEmValue
=
t
,
a
.
addEventListener
?
a
.
addEventListener
(
"
resize
"
,
b
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"
onresize
"
,
b
)}}(
this
);
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录