Javascript 在service worker中实现fetch事件后不包括跨源脚本
这是我的密码:Javascript 在service worker中实现fetch事件后不包括跨源脚本,javascript,wordpress,service-worker,offline-caching,service-worker-events,Javascript,Wordpress,Service Worker,Offline Caching,Service Worker Events,这是我的密码: var cacheName = 'app-cache-v2'; var filesToCache = [ 'wp-content/themes/ct/bootstrap.css', 'wp-content/themes/ct/bootstrap-1024.css', 'wp-content/themes/ct/bootstrap-1280.css', 'wp-content/themes/ct/assets/js/jquery.min.js
var cacheName = 'app-cache-v2';
var filesToCache = [
'wp-content/themes/ct/bootstrap.css',
'wp-content/themes/ct/bootstrap-1024.css',
'wp-content/themes/ct/bootstrap-1280.css',
'wp-content/themes/ct/assets/js/jquery.min.js',
'wp-content/themes/ct/assets/js/slick.js',
'wp-content/themes/ct/assets/js/ctjs.js',
'wp-content/themes/ct/bootstrap-640.css',
'wp-content/themes/ct/assets/images/img-thumb.jpg',
'wp-content/themes/ct/assets/images/logo-career-tutorial.jpg',
'wp-content/themes/ct/assets/images/logo-career-tutorial.png',
'wp-content/themes/ct/assets/fonts/pnsemib.woff2',
'wp-content/themes/ct/assets/fonts/pnreg.woff2',
'wp-content/themes/ct/assets/fonts/pnbold.woff2',
'wp-content/themes/ct/assets/images/banner.jpg'
];
self.addEventListener('install', function(event){
event.waitUntil(
caches.open(cacheName).then(function(cache){
return cache.addAll(filesToCache);
}).then(function(){
return self.skipWaiting();
})
);
});
self.addEventListener('activate', function(event){
event.waitUntil(
caches.keys().then(
keyList => {
return Promise.all(
keyList.map(
key=>{
if(key !== cacheName){
return caches.delete(key);
}
}
)
);
}
)
);
return self.clients.claim();
});
self.addEventListener('fetch', function(event){
caches.open(cacheName).then(function(cache) {
fetch(event.request)
.then(function(response){
const url = new URL (event.request.url);
if(url.origin == location.origin){
cache.add(event.request.url);
}
});
});
});
self.addEventListener('fetch', event => {
// Prevent the default, and handle the request ourselves.
event.respondWith(async function() {
// Try to get the response from a cache.
const cachedResponse = await caches.match(event.request.url);
// Return it if we found one.
if (cachedResponse) return cachedResponse;
// If we didn't find a match in the cache, use the network.
return fetch(event.request, {mode: 'cors'});
}());
});
控制台中显示的错误为:
加载“facebook脚本”失败请求的资源上不存在“访问控制允许来源”标题。因此,不允许访问源“”。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源
未捕获(承诺中)TypeError:无法获取
未能加载资源:net::ERR\u失败
无法加载资源:net::ERR\u被\u客户端阻止\u
这是服务人员注册代码
navigator.serviceWorker && navigator.serviceWorker.register('/sw.js',{scope: '/'
}).then(function(registration) {
console.log('Excellent, registered with scope: ', registration.scope);
});
你想确定什么?我们可以在聊天室或skypenow上讨论吗?我现在面临的新问题是,服务人员只缓存第三方脚本和图像,而不是我的页面