Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
vue_django_test
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周田
vue_django_test
Commits
eabd9836
Commit
eabd9836
authored
Aug 08, 2023
by
周田
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 避免CSP风险
parent
1de1afb8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
0 deletions
+33
-0
handleHTML.js
frontend/handleHTML.js
+33
-0
No files found.
frontend/handleHTML.js
View file @
eabd9836
...
...
@@ -7,6 +7,7 @@ const htmlText = fs.readFileSync(htmlPath, 'utf8');
const
htmlArr
=
htmlText
.
match
(
/.*
\n
/g
)
||
[];
let
result
=
""
;
let
count
=
1
;
htmlArr
.
forEach
(
v
=>
{
v
=
v
...
...
@@ -18,6 +19,37 @@ htmlArr.forEach(v => {
}
});
let
result_arr
=
result
.
match
(
/.*
\n
/g
)
||
[];
result
=
""
result_arr
.
forEach
(
v
=>
{
// 处理内联脚本
if
(
v
.
includes
(
`script`
))
{
let
start_index
=
v
.
indexOf
(
'>'
);
let
end_index
=
v
.
lastIndexOf
(
'<'
)
let
script_str
=
v
.
substring
(
start_index
+
1
,
end_index
)
if
(
count
===
1
)
{
let
path
=
"./dist/assets/"
+
String
(
count
)
+
".js"
;
fs
.
writeFileSync
(
path
,
script_str
,
'utf8'
);
path
=
"."
+
path
.
substring
(
6
)
v
=
v
.
substring
(
0
,
start_index
)
+
" src=
\"
"
+
path
+
"
\"
>"
+
v
.
substring
(
end_index
);
}
else
if
(
count
===
3
)
{
let
path
=
"./dist/assets/"
+
String
(
count
)
+
".js"
;
v
=
v
.
substring
(
0
,
start_index
+
1
)
+
v
.
substring
(
end_index
);
fs
.
writeFileSync
(
path
,
script_str
,
'utf8'
);
path
=
"."
+
path
.
substring
(
6
)
v
+=
"
\
n <script src=
\"
"
+
path
+
"
\"
></script>"
;
}
count
++
;
// console.log(v);
}
if
(
!
v
.
includes
(
`script type="module"`
))
{
result
+=
v
;
}
})
fs
.
writeFileSync
(
htmlPath
,
result
,
'utf8'
);
console
.
log
(
"处理完成"
);
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment