hexo-swpp 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/sw-template.js +8 -8
package/package.json
CHANGED
package/sw-template.js
CHANGED
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
})
|
|
31
31
|
|
|
32
32
|
self.addEventListener('fetch', event => {
|
|
33
|
-
const
|
|
34
|
-
|
|
33
|
+
const request = event.request
|
|
34
|
+
if (request.method !== 'GET') return
|
|
35
|
+
const replace = replaceRequest(request)
|
|
35
36
|
const url = new URL(request.url)
|
|
36
37
|
if (findCache(url)) {
|
|
37
38
|
event.respondWith(new Promise(async resolve => {
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
}
|
|
48
49
|
resolve(response)
|
|
49
50
|
}))
|
|
50
|
-
} else if (replace
|
|
51
|
+
} else if (replace) {
|
|
51
52
|
event.respondWith(fetch(request))
|
|
52
53
|
}
|
|
53
54
|
})
|
|
@@ -94,21 +95,20 @@
|
|
|
94
95
|
* 故该函数允许重复替换,例如:<br/>
|
|
95
96
|
* 如果第一个匹配项把链接由"http://abc.com/"改为了"https://abc.com/"<br/>
|
|
96
97
|
* 此时第二个匹配项可以以此为基础继续进行修改,替换为"https://abc.net/"<br/>
|
|
97
|
-
* @return {
|
|
98
|
+
* @return {boolean} 是否进行了替换
|
|
98
99
|
*/
|
|
99
100
|
function replaceRequest(request) {
|
|
100
|
-
let url = request.url;
|
|
101
101
|
let flag = false
|
|
102
102
|
for (let key in replaceList) {
|
|
103
103
|
const value = replaceList[key]
|
|
104
104
|
for (let source of value.source) {
|
|
105
|
-
if (url.match(source)) {
|
|
106
|
-
url = url.replace(source, value.dist)
|
|
105
|
+
if (request.url.match(source)) {
|
|
106
|
+
request.url = request.url.replace(source, value.dist)
|
|
107
107
|
flag = true
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
return flag
|
|
111
|
+
return flag
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
/**
|