小编Die*_*ion的帖子

在导航器中找不到serviceWorker了

自谷歌Chrome的新版本(版本69.0.3497.92(官方版本)(64位))以后,我无法在导航器中找到serviceWorker服务.实际上,我可以按如下方式注册我的服务工作者,但现在我收到一个错误,在导航器中找不到serviceWorker:

if('serviceWorker' in navigator) {
    /*
    *
    * Register the Service Worker
    *
    * */
    navigator.serviceWorker.register('sw.js').then(function(registration) {
        console.log('Service Worker Registered');
    });

} else console.log('Your browser does not support the Service-Worker!');
Run Code Online (Sandbox Code Playgroud)

我现在如何再次使用Service Worker,或者如何让它再次运行所有Chrome版本?

javascript google-chrome service-worker

26
推荐指数
2
解决办法
1万
查看次数

在 iOS 12.1 Safari 上,Service Worker FechtEvent.respondWith 响应为 null

我可以在 Android Chrome、macOS Chrome 以及 Safari 和 Windows Chrome 上使用 service Worker 下载该网站以供离线使用。当我尝试将网站下载到iOS 12.1 Safari时,它首先工作。但是当我关闭 Safari、离线并重新打开 Safari 时,我收到以下错误消息

Safari 无法打开该网站。

错误:“FetchEvent.respondWith 收到错误:TypeError:似乎没有连接到 Internet。”

==== 并在控制台中 ====

FetchEvent.respondWith 收到错误:返回的响应为 null

下面您可以看到文本形式的脚本。不幸的是,我几乎无法报告有关该问题的任何内容,因为我不明白它并希望一些有知识的人:)

索引.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>Offline App</h1>
</body>
<script>
    if('serviceWorker' in navigator) {
        navigator.serviceWorker.register('sw.js').then(function (registration) {
            console.log('Service Worker Registered');
        });
    }
</script>
</html>
Run Code Online (Sandbox Code Playgroud)

sw.js

/*
 Copyright 2014 Google Inc. All Rights Reserved.
 Licensed under the Apache License, Version 2.0 (the …
Run Code Online (Sandbox Code Playgroud)

safari ios service-worker

5
推荐指数
1
解决办法
1万
查看次数

避免 in_channel 响应的斜杠命令回显

我现在正在为我的频道创建一个非常小的斜线命令。我使用 HTTPS 200 将命令发送到 PHP 脚本,对其进行操作并将其作为 JSON 有效负载发送回,基本上如下所示:

<?php
header('Content-Type: application/json');

$text = $_POST['text'];

if ($text === "keyword") $answer = "Hello World";
else $answer = "Nothing in here";

$response = array(
  'response_type' => 'in_channel',
  'text' => $answer,
);

echo json_encode($response);
Run Code Online (Sandbox Code Playgroud)

现在我不想在标题中提到的频道中发布初始斜杠推荐,但只有服务器的答案应该对频道中的每个人可见。我找不到合适的文章,所以我问自己:这可能吗?

有人有主意吗?

编辑: 我不希望那个松弛也将我的命令作为消息发布。这样只有第二条消息会发布在频道中: 请参阅屏幕截图

更新: 我现在已经实现了 Erik Kalkoken 的建议,但我没有从curl 函数中得到信号。我还成功检查了我的网络服务器是否支持curl 功能。我的代码现在看起来像这样(代码已减少到必要):

<?php
header('Content-Type: application/json');

$response = array(
  'response_type' => 'in_channel',
  'text' => "> \\M2\Kunden\_Tutorial"
);

echo json_encode(array('text' => 'One moment...'));

$ch = curl_init($_POST['response_url']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $response); …
Run Code Online (Sandbox Code Playgroud)

php slack-api slack

4
推荐指数
1
解决办法
853
查看次数