小编Paw*_*hra的帖子

如何将网络通知内容复制到剪贴板

我正在使用 Firebase Cloud Messaging (FCM) 发送数据消息,以便我可以使用 Service Worker 处理通知。现在我使用 Service Worker 显示通知,当我单击通知时,我想复制剪贴板中的通知内容。

const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler((payload)=> {
    const title = payload.data.title;
    const options = {
        body: payload.data.body
    };
    return self.registration.showNotification(title,
        options);
});

self.addEventListener('notificationclick', (event)=>{
    console.log(event);
    navigator.clipboard.writeText(event).then(function() {
        console.log('Async: Copying to clipboard was successful!');
      }, function(err) {
        console.error('Async: Could not copy text: ', err);
      });
});
Run Code Online (Sandbox Code Playgroud)

单击通知时notificationclick触发事件。但我变得navigator.clipboard不确定。我也在为我的网站使用安全域。我也无法使用,document.execcommand('copy')因为无法使用 Service Worker 访问 DOM。您能否建议一种无需打开任何网址即可复制通知内容的方法?

javascript web-notifications service-worker

10
推荐指数
1
解决办法
504
查看次数

仅在使用 selenium python 的 html 中的特定文本之后查找元素

假设我有以下 HTML 代码

<div class="12"> 
  <div class="something"></div> 
</div>
<div class="12"> 
  <div class="34"> 
    <span>TODAY</span> 
  </div>
</div> 
<div class="12"> 
  <div class="something"></div> 
</div> 
<div class="12"> 
  <div class="something"></div> 
</div>
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用,driver.find_elements_by_class_name("something")那么我将获得 HTML 代码中存在的所有类。但我只想在 HTML 中的特定单词(“今天”)之后获取类。如何排除出现在特定单词之前的类。下一个 div 和类可以在任何级别。

python selenium selenium-webdriver

7
推荐指数
1
解决办法
1391
查看次数

如何在 chome 应用程序的 tcp 套接字上接收和存储文件

我正在开发一个 chrome 应用程序,它应该接受来自客户端的文件并存储在本地文件系统中。我有一个 tcp 服务器,客户端需要在其中连接和发送文件。我有监听消息的 tcp 套接字监听器。现在客户端流式传输一个已知长度的文件。如何获取该文件并存储。

TCP服务器:

chrome.sockets.tcpServer.create({}, function(socketinfo){
    tcpServerSocketId=socketinfo.socketId;
    chrome.sockets.tcpServer.listen(tcpServerSocketId, ip, 0, function (resultCode){
        if(resultCode<0)
            console.log("tcp server not connected");
        chrome.sockets.tcpServer.getInfo(tcpServerSocketId, function(info){
            tcpServerPort=info.localPort;
            sendHub("ConnectToMe "+username+" "+ip+":"+tcpServerPort);
        });
        chrome.sockets.tcpServer.onAccept.addListener(onAccept);
    });
});
Run Code Online (Sandbox Code Playgroud)

TCP监听器:

    chrome.sockets.tcp.onReceive.addListener(function(info) {
    if(info.socketId!=socketId){
        onReceivefromClient(info.socketId, info.data);
    }
    else{
          // console.log(ab2str(info.data));
          var result=ab2str(info.data).split(" ");
          if(result[0]=="$Lock")
            proceed(info.data);
    }
  // sendHub("ConnectToMe 98765432 10.147.231.130:58060");
});
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome google-chrome-app

6
推荐指数
0
解决办法
154
查看次数