Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在service worker中实现fetch事件后不包括跨源脚本_Javascript_Wordpress_Service Worker_Offline Caching_Service Worker Events - Fatal编程技术网

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上讨论吗?我现在面临的新问题是,服务人员只缓存第三方脚本和图像,而不是我的页面