【问题标题】:If statement for specific event.request特定 event.request 的 if 语句
【发布时间】:2017-11-07 16:02:55
【问题描述】:

我的 service worker index.js 中有以下代码来显示所有事件请求 url:

self.addEventListener('fetch', functin(event) {
  console.log(event.request.url);
});

所有的请求 url 都在控制台中列出。我需要的是一个简单的 if 语句来检查请求 url 是否以 .jpg 结尾。到目前为止,我用if === '.jpg' 或变体或image/jpg 尝试过 但它并不能解决问题。

【问题讨论】:

  • “以.jpg结尾”暗示event.request.url.endsWith(".jpg"),而不是event.request.url === ".jpg"

标签: javascript if-statement service-worker-events


【解决方案1】:

你可以使用String.prototype.endsWith:

if (event.request.url.endsWith('.jpg')) {
    console.log(event.request.url);
}

如果此代码将在浏览器中运行,请注意 Internet Explorer 尚不支持此功能,因此您可能需要使用polyfill

【讨论】:

  • 谢谢乔纳森,这正是我所需要的,而且效果很好!
【解决方案2】:

例如

if (event.request.url.endsWith('.jpg')) {
    console.log(event.request.url);
    //handling response you may replace it with somthing
     event.respondWith(fetch('/imgs/avatar.jpg'));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 2020-10-19
    • 2021-03-30
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多