- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个接收推送通知的服务 worker ,它在桌面版 Chrome 中运行良好,但在 Android 版 Chrome 中运行不佳。
有时它会按预期工作,但有时它会开始打开 manifest.json 的 start_url 值而不是 notificationURL 变量的值。
通知 URL 如下所示: https://www.example.com/abc/123/?source=notification
list start_url 值如下所示: https://www.example.com/?source=manifest
示例代码:
self.addEventListener('notificationclick', function(event) {
var notificationURL = event.notification.data.url;
event.notification.close();
event.waitUntil(clients.matchAll({
type: 'window'
}).then(function(clientList) {
for ( var i = 0; i < clientList.length; i++ ) {
var client = clientList[i];
if ( client.url === notificationURL && 'focus' in client ) {
return client.focus();
}
}
if ( 'openWindow' in clients ) {
// This prints "notificationURL: https://www.example.com/abc/123/?source=notification".
console.log('notificationURL:', notificationURL);
// But this opens "https://www.example.com/?source=manifest".
return clients.openWindow(notificationURL);
}
}));
});
因此,出于某种原因,在某些情况下,如果通知 URL 以“https://www.example.com”开头,上面的代码将始终打开 https://www.example.com/?source=manifest。 .
这与我已将该网站添加到我的主屏幕有关吗?
这是预期的行为吗?
注意:它打开 list start_url,但不是在独立模式下。
最佳答案
就在return client.focus();
添加这一行
client.navigate(notificationURL);
此外,更改 return clients.openWindow(notificationURL)
到
返回 clients.openWindow(notificationURL).then(function(client){
client.navigate(notificationURL);
});
关于android - Service Worker clients.openWindow 从 list 中打开 start_url 而不是请求的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37284495/
尝试产生“数字”或者可能获取start_url,然后解析start_url以获取数字: class EbaypriceSpider(Spider): name = "ebayprice"
我正在创建一个与服务人员脱机工作的 PWA。 现在它可以正常工作,但 Lighthouse Audit 存在问题。 当我运行 Lighthouse 时,在 PWA 部分我遇到了这个问题: 离线时 st
我正在尝试抓取网址并检索每个网址的h1。 url 存储在文本文件中。代码是: class MySpider(CrawlSpider): name = "sitemaplocation"
The script (下)来自 this教程包含两个 start_urls。 from scrapy.spider import Spider from scrapy.selector import
我一直在使用 Google 的 workbox library现在有一段时间,在非常基本的水平上。大部分效果很好,但由于某些原因,我的 manifest.json 中的 start_url 未在初始页
我刚刚将 scrapy 更新到 0.22,现在面临一些问题。 我使用的是基本的 Spider,只是想请求一个 start_url 并在 parse(self,response) 函数中查看结果。 cl
我想知道我可以分配给蜘蛛的 start_urls 的数量是否有限制?据我搜索,似乎没有关于列表限制的文档。 目前我已经设置了我的爬虫,以便从 csv 文件中读取 start_urls 列表。 url
我有一个工作的 scrapy 蜘蛛,我可以通过一个单独的脚本运行它,然后是 example here .我还为我的脚本创建了一个 wxPython GUI,它仅包含一个多行 TextCtrl,供用户输
我是 scrapy 和 python 的新手。我写了一个蜘蛛,它可以很好地处理初始化的 start_urls 值。 如果我在 Init 中的代码中放入文字,它也可以正常工作 { self.start_
我是 Python 和 Scrapy 新手。我希望 item['Source_Website'] 成为我正在抓取的网址。我怎样才能实现这个目标? 我尝试了 item['Source_Website']
我使用 scrapy 抓取 1000 个 url 并将抓取的项目存储在 mongodb 中。我想知道为每个网址找到了多少项目。从 scrapy stats 我可以看到 'item_scraped_co
我正在以与其他蜘蛛相同的结构运行我的蜘蛛,但对于这个特定的网站和这个特定的蜘蛛,它会在第一次请求启动 url 后关闭。可能是什么问题? 终端输出: ... 2022-04-03 17:42:34 [s
虽然我的简单代码根据 the official document 看起来不错,它会生成意外重复的结果,例如: 设置 3 个网址时为 9 行/结果 设置 2 个网址时为 4 行/结果 当我只设置 1 个
我想解析一个股票列表,所以我试图格式化我的 start_urls 的末尾列表,这样我就可以只添加符号而不是整个 url。 蜘蛛类 start_urls里面stock_list方法: class MyS
我有一个 ~2211 开始 url 的列表,scrapy 抓取了一些,但不是全部。当我将 start_url 设置为单个 url 时,它会抓取 URL,如果我在一个大列表中有 URL,scrapy 不
所以我正在使用 scrapy 库开发一个 scraper,为了便于使用,我想让它从 .csv 文件中获取它的起始 url。我已经对该主题进行了一些研究,我相信它可以正确地从 .csv 中获取 url,
背景(可略过): 我目前正在运行两个不同的 scrapy 爬虫。 第一个检索有关产品 x 的信息,第二个检索有关产品 x 的其他信息,这些信息是在第一个机器人抓取的 url 上找到的。 我的管道将每个
我已经从蜘蛛中抓取了项目,我正在编写另一个蜘蛛,它使用搜索引擎来填充一些缺失的数据。我想逐行更新第一个蜘蛛的项目。 但是,我不知道如何从 __init__ 方法传递当前行或 start_url。 我知
我正在创建 PWA 并偶然发现 manifest.json 文件中的“start_url”存在问题。我试图变成 PWA 的网站取决于查询参数,而 "start_url":"/"不会获取查询参数。 我尝
有没有办法在网络应用程序 list 中设置哈希值?类似的东西: "start_url": "/#/admin", 我试过了,但是不行。 有什么想法吗? 最佳答案 试试这个:"start_url": "
我是一名优秀的程序员,十分优秀!