优化:将前端所有CDN依赖放到本地,方便没有外网连接的用户使用

pull/13/head
陈精华 2020-05-12 10:59:57 +08:00 committed by kl
parent 9288564195
commit c9a6956b0d
13 changed files with 3390 additions and 12 deletions

View File

@ -251,7 +251,7 @@ public class FileUtils {
// 添加sheet控制头
sb.append("<script src=\"js/jquery-3.0.0.min.js\" type=\"text/javascript\"></script>");
sb.append("<script src=\"js/excel.header.js\" type=\"text/javascript\"></script>");
sb.append("<link rel=\"stylesheet\" href=\"//cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css\">");
sb.append("<link rel=\"stylesheet\" href=\"css/bootstrap/bootstrap.min.css\">");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {

View File

@ -0,0 +1,306 @@
/**
* @author zhixin wen <wenzhixin2010@gmail.com>
* version: 1.11.0
* https://github.com/wenzhixin/bootstrap-table/
*/
.bootstrap-table .table {
margin-bottom: 0 !important;
border-bottom: 1px solid #dddddd;
border-collapse: collapse !important;
border-radius: 1px;
}
.bootstrap-table .table:not(.table-condensed),
.bootstrap-table .table:not(.table-condensed) > tbody > tr > th,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > th,
.bootstrap-table .table:not(.table-condensed) > thead > tr > td,
.bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
padding: 8px;
}
.bootstrap-table .table.table-no-bordered > thead > tr > th,
.bootstrap-table .table.table-no-bordered > tbody > tr > td {
border-right: 2px solid transparent;
}
.bootstrap-table .table.table-no-bordered > tbody > tr > td:last-child {
border-right: none;
}
.fixed-table-container {
position: relative;
clear: both;
border: 1px solid #dddddd;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
}
.fixed-table-container.table-no-bordered {
border: 1px solid transparent;
}
.fixed-table-footer,
.fixed-table-header {
overflow: hidden;
}
.fixed-table-footer {
border-top: 1px solid #dddddd;
}
.fixed-table-body {
overflow-x: auto;
overflow-y: auto;
height: 100%;
}
.fixed-table-container table {
width: 100%;
}
.fixed-table-container thead th {
height: 0;
padding: 0;
margin: 0;
border-left: 1px solid #dddddd;
}
.fixed-table-container thead th:focus {
outline: 0 solid transparent;
}
.fixed-table-container thead th:first-child {
border-left: none;
border-top-left-radius: 4px;
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
.fixed-table-container thead th .th-inner,
.fixed-table-container tbody td .th-inner {
padding: 8px;
line-height: 24px;
vertical-align: top;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.fixed-table-container thead th .sortable {
cursor: pointer;
background-position: right;
background-repeat: no-repeat;
padding-right: 30px;
}
.fixed-table-container thead th .both {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC');
}
.fixed-table-container thead th .asc {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==');
}
.fixed-table-container thead th .desc {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ');
}
.fixed-table-container th.detail {
width: 30px;
}
.fixed-table-container tbody td {
border-left: 1px solid #dddddd;
}
.fixed-table-container tbody tr:first-child td {
border-top: none;
}
.fixed-table-container tbody td:first-child {
border-left: none;
}
/* the same color with .active */
.fixed-table-container tbody .selected td {
background-color: #f5f5f5;
}
.fixed-table-container .bs-checkbox {
text-align: center;
}
.fixed-table-container .bs-checkbox .th-inner {
padding: 8px 0;
}
.fixed-table-container input[type="radio"],
.fixed-table-container input[type="checkbox"] {
margin: 0 auto !important;
}
.fixed-table-container .no-records-found {
text-align: center;
}
.fixed-table-pagination div.pagination,
.fixed-table-pagination .pagination-detail {
margin-top: 10px;
margin-bottom: 10px;
}
.fixed-table-pagination div.pagination .pagination {
margin: 0;
}
.fixed-table-pagination .pagination a {
padding: 6px 12px;
line-height: 1.428571429;
}
.fixed-table-pagination .pagination-info {
line-height: 34px;
margin-right: 5px;
}
.fixed-table-pagination .btn-group {
position: relative;
display: inline-block;
vertical-align: middle;
}
.fixed-table-pagination .dropup .dropdown-menu {
margin-bottom: 0;
}
.fixed-table-pagination .page-list {
display: inline-block;
}
.fixed-table-toolbar .columns-left {
margin-right: 5px;
}
.fixed-table-toolbar .columns-right {
margin-left: 5px;
}
.fixed-table-toolbar .columns label {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.428571429;
}
.fixed-table-toolbar .bs-bars,
.fixed-table-toolbar .search,
.fixed-table-toolbar .columns {
position: relative;
margin-top: 10px;
margin-bottom: 10px;
line-height: 34px;
}
.fixed-table-pagination li.disabled a {
pointer-events: none;
cursor: default;
}
.fixed-table-loading {
display: none;
position: absolute;
top: 42px;
right: 0;
bottom: 0;
left: 0;
z-index: 99;
background-color: #fff;
text-align: center;
}
.fixed-table-body .card-view .title {
font-weight: bold;
display: inline-block;
min-width: 30%;
text-align: left !important;
}
/* support bootstrap 2 */
.fixed-table-body thead th .th-inner {
box-sizing: border-box;
}
.table th, .table td {
vertical-align: middle;
box-sizing: border-box;
}
.fixed-table-toolbar .dropdown-menu {
text-align: left;
max-height: 300px;
overflow: auto;
}
.fixed-table-toolbar .btn-group > .btn-group {
display: inline-block;
margin-left: -1px !important;
}
.fixed-table-toolbar .btn-group > .btn-group > .btn {
border-radius: 0;
}
.fixed-table-toolbar .btn-group > .btn-group:first-child > .btn {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.fixed-table-toolbar .btn-group > .btn-group:last-child > .btn {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.bootstrap-table .table > thead > tr > th {
vertical-align: bottom;
border-bottom: 1px solid #ddd;
}
/* support bootstrap 3 */
.bootstrap-table .table thead > tr > th {
padding: 0;
margin: 0;
}
.bootstrap-table .fixed-table-footer tbody > tr > td {
padding: 0 !important;
}
.bootstrap-table .fixed-table-footer .table {
border-bottom: none;
border-radius: 0;
padding: 0 !important;
}
.pull-right .dropdown-menu {
right: 0;
left: auto;
}
/* calculate scrollbar width */
p.fixed-table-scroll-inner {
width: 100%;
height: 200px;
}
div.fixed-table-scroll-outer {
top: 0;
left: 0;
visibility: hidden;
width: 200px;
height: 150px;
overflow: hidden;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="126px" height="126px" viewBox="0 0 126 126" enable-background="new 0 0 126 126" xml:space="preserve">
<path d="M58.662,58.839c-1.372,0-2.303,0.133-2.791,0.267v8.817c0.577,0.133,1.286,0.178,2.26,0.178c3.59,0,5.807-1.818,5.807-4.874
C63.938,60.479,62.031,58.839,58.662,58.839z"/>
<path d="M102.328,48.928h-2.449V37.11c0-0.074-0.012-0.148-0.021-0.223c-0.004-0.469-0.154-0.93-0.475-1.295L79.717,13.127
c-0.006-0.006-0.012-0.008-0.016-0.014c-0.117-0.131-0.254-0.24-0.398-0.334c-0.043-0.029-0.086-0.053-0.131-0.078
c-0.125-0.068-0.258-0.125-0.395-0.166c-0.037-0.01-0.07-0.025-0.107-0.035c-0.148-0.035-0.303-0.057-0.459-0.057H29.879
c-2.207,0-4,1.795-4,4v32.484H23.43c-3.157,0-5.717,2.559-5.717,5.717v29.73c0,3.156,2.56,5.717,5.717,5.717h2.449v20.352
c0,2.205,1.793,4,4,4h66c2.205,0,4-1.795,4-4V90.092h2.449c3.157,0,5.717-2.561,5.717-5.717v-29.73
C108.045,51.487,105.485,48.928,102.328,48.928z M29.879,16.444h46.332v20.465c0,1.105,0.896,2,2,2h17.668v10.02h-66V16.444z
M70.627,63.049c0,2.924-0.974,5.406-2.746,7.091c-2.306,2.171-5.718,3.145-9.704,3.145c-0.887,0-1.686-0.043-2.306-0.132v10.679
H49.18V54.365c2.084-0.356,5.008-0.621,9.129-0.621c4.165,0,7.134,0.797,9.13,2.393C69.343,57.643,70.627,60.125,70.627,63.049z
M27.996,83.61l0.755-5.45c0.931,0.31,2.126,0.533,3.455,0.533c2.838,0,4.609-1.287,4.609-5.939V53.965h6.735v18.877
c0,8.508-4.078,11.476-10.635,11.476C31.365,84.319,29.326,84.055,27.996,83.61z M95.879,109.36h-66V90.092h66V109.36z
M99.877,82.458c-2.082,0.709-6.025,1.684-9.972,1.684c-5.448,0-9.394-1.374-12.14-4.032c-2.748-2.57-4.256-6.469-4.21-10.857
c0.043-9.926,7.266-15.598,17.06-15.598c3.856,0,6.826,0.752,8.288,1.462l-1.419,5.406c-1.64-0.709-3.679-1.285-6.958-1.285
c-5.627,0-9.88,3.191-9.88,9.661c0,6.159,3.854,9.793,9.394,9.793c1.551,0,2.792-0.178,3.323-0.445v-6.247h-4.609v-5.273h11.123
V82.458z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 919 B

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="126px" height="126px" viewBox="0 0 126 126" enable-background="new 0 0 126 126" xml:space="preserve">
<path d="M41.579,64.707c0-2.747-1.907-4.386-5.273-4.386c-1.373,0-2.303,0.132-2.791,0.265v8.819
c0.577,0.132,1.286,0.177,2.258,0.177C39.364,69.582,41.579,67.765,41.579,64.707z"/>
<path d="M62.411,60.409c-1.508,0-2.481,0.133-3.059,0.266v19.542c0.577,0.134,1.508,0.134,2.35,0.134
c6.114,0.043,10.103-3.323,10.103-10.458C71.849,63.687,68.215,60.409,62.411,60.409z"/>
<path d="M102.328,48.928h-2.449V37.11c0-0.074-0.012-0.148-0.021-0.223c-0.004-0.469-0.154-0.93-0.475-1.295L79.717,13.127
c-0.006-0.006-0.012-0.008-0.016-0.014c-0.117-0.131-0.254-0.24-0.398-0.334c-0.043-0.029-0.086-0.053-0.131-0.078
c-0.125-0.068-0.258-0.125-0.395-0.166c-0.037-0.01-0.07-0.025-0.107-0.035c-0.148-0.035-0.303-0.057-0.459-0.057H29.879
c-2.207,0-4,1.795-4,4v32.484H23.43c-3.157,0-5.717,2.559-5.717,5.717v29.73c0,3.156,2.56,5.717,5.717,5.717h2.449v20.352
c0,2.205,1.793,4,4,4h66c2.205,0,4-1.795,4-4V90.092h2.449c3.157,0,5.717-2.561,5.717-5.717v-29.73
C108.045,51.487,105.485,48.928,102.328,48.928z M29.879,16.444h46.332v20.465c0,1.105,0.896,2,2,2h17.668v10.02h-66V16.444z
M78.982,69.669c0,5.718-2.082,9.661-4.966,12.099c-3.143,2.614-7.93,3.854-13.777,3.854c-3.5,0-5.981-0.221-7.667-0.442V55.844
c2.481-0.398,5.718-0.62,9.13-0.62c5.669,0,9.348,1.02,12.229,3.19C77.032,60.719,78.982,64.396,78.982,69.669z M26.823,85.313
V55.844c2.082-0.353,5.008-0.62,9.129-0.62c4.165,0,7.135,0.798,9.128,2.394c1.906,1.506,3.188,3.988,3.188,6.913
c0,2.925-0.972,5.407-2.746,7.09c-2.304,2.171-5.716,3.147-9.705,3.147c-0.885,0-1.685-0.045-2.303-0.133v10.679H26.823z
M95.879,109.36h-66V90.092h66V109.36z M101.675,60.985H90.196v6.824h10.724v5.495H90.196v12.009h-6.777V55.446h18.256V60.985z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 917 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -7,8 +7,8 @@
<title>kkFileView</title>
<link rel="stylesheet" href="css/viewer.min.css">
<link rel="stylesheet" href="css/loading.css">
<link rel="stylesheet" href="//cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.css" />
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap/bootstrap-table.css">
<style type="text/css">
</style>
</head>
@ -156,9 +156,9 @@ window.open('http://127.0.0.1:8012/picturesPreview?urls='+encodeURIComponent(fil
</div>
</div>
<script src="js/jquery-3.0.0.min.js" type="text/javascript"></script>
<script src="//cdn.bootcss.com/jquery.form/3.09/jquery.form.min.js" type="text/javascript"></script>
<script src="//cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.js"></script>
<script src="js/jquery.form.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/bootstrap-table.js"></script>
<script>
function deleteFile(fileName) {
$.ajax({

View File

@ -3,7 +3,6 @@
<head>
<meta charset="utf-8" />
<title>PDF</title>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script src="js/lazyload.js"></script>
<style>
.container{
@ -24,8 +23,7 @@
</div>
</#list>
</div>
<#--<img src="images/right.png" style="position: fixed; cursor: pointer; top: 40%; right: 60px; z-index: 999;" alt="使用PDF预览" title="使用PDF预览" onclick="changePreviewType('pdf')"/>-->
<span class="fa fa-file-pdf-o fa-4x" style="position: fixed; cursor: pointer; top: 40%; right: 50px; z-index: 999;" title="使用PDF预览" onclick="changePreviewType('pdf')"></span>
<img src="images/pdf.svg" width="63" height="63" style="position: fixed; cursor: pointer; top: 40%; right: 48px; z-index: 999;" alt="使用PDF预览" title="使用PDF预览" onclick="changePreviewType('pdf')"/>
<script>
window.onload=checkImgs;
window.onscroll = throttle(checkImgs);

View File

@ -5,7 +5,6 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
<title>PDF</title>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<style type="text/css">
body{
margin: 0;
@ -22,8 +21,7 @@
</#if>
<iframe src="" width="100%" frameborder="0"></iframe>
<#-- <img src="images/left.png" style="position: fixed; cursor: pointer; top: 40%; right: 60px; z-index: 999;" alt="使用图片预览" title="使用图片预览" onclick="goForImage()"/>-->
<span class="fa fa-file-image-o fa-4x" style="position: fixed; cursor: pointer; top: 40%; right: 50px; z-index: 999;" title="使用图片预览" onclick="goForImage()"></span>
<img src="images/jpg.svg" width="63" height="63" style="position: fixed; cursor: pointer; top: 40%; right: 48px; z-index: 999;" alt="使用图片预览" title="使用图片预览" onclick="goForImage()"/>
</body>