小编jac*_*ack的帖子

内容脚本和chrome扩展中的后台页面之间的消息传递无法正常工作

我发布以下代码:

的manifest.json

{
  "manifest_version": 2,

  "name": "Demo",
  "description": "all_frames test",
  "version": "1.0",

  "background": {
    "scripts": ["background.js"]
  },

  "content_scripts": [{
        "matches":    ["*://*/*"],
        "js":         ["content.js"],
        "all_frames": true
    }],

  "permissions": [
          "tabs",
          "*://*/*"
   ]
}
Run Code Online (Sandbox Code Playgroud)

background.js

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    var tabStatus = changeInfo.status;

    if (tabStatus == 'complete') {

        function return_msg_callback() {
            console.log('Got a msg from cs...')
        }

        chrome.tabs.sendMessage(tabId, {
            text: 'hey_cs'
        }, return_msg_callback);
    }

});
Run Code Online (Sandbox Code Playgroud)

content.js

/* Listen for messages */
chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {
    /* If the received message has the …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-extension

6
推荐指数
1
解决办法
6705
查看次数

获取API:从http响应中获取标题,关键字和正文

我想知道什么是使用fetch api从responseText中获取用户可见的标题,关键字和内容的最佳方法(在同一来源上制作XMLHttpRequest时有没有办法发送cookie?)

目前,我使用正则表达式从响应文本中获取标题,例如:

var re_title = new RegExp("<title>[\n\r\s]*(.*)[\n\r\s]*</title>", "gmi");
var title = re_title.exec(responseText);
if (title)
    title = title[1]
Run Code Online (Sandbox Code Playgroud)

要获取关键字元标记中的内容,我需要使用几个正则表达式.

为了让用户看到内容,我们不需要像script,div等标签,我们也不需要脚本标签之间的文本.这只是为了获得在响应主体中有意义的单词.

我认为(也是根据各种stackoverflow帖子)使用正则表达式这不是正确的方法.有什么可以替代?

javascript web-scraping

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