Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome扩展中if语句之后未运行函数_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript Chrome扩展中if语句之后未运行函数

Javascript Chrome扩展中if语句之后未运行函数,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在为87.0.4280.66版做一个Chrome扩展 这是一个有趣的脚本库,可以随意使用应用程序 现在,我正在制作一个Chrome扩展,当你点击一个按钮时,它会添加一个链接,让它播放五彩纸屑 我让它检查是否有参数存在,以及它是否也是一个指令链接 问题是当我调用函数时,它根本不运行它 下面是负责更新URL以添加参数canfetti=true的popup.js let confetti = document.getElementById('confetti'); const regEx = /

我正在为87.0.4280.66版做一个Chrome扩展

这是一个有趣的脚本库,可以随意使用应用程序

现在,我正在制作一个Chrome扩展,当你点击一个按钮时,它会添加一个链接,让它播放五彩纸屑

我让它检查是否有参数存在,以及它是否也是一个指令链接

问题是当我调用函数时,它根本不运行它

下面是负责更新URL以添加参数
canfetti=true
popup.js

let confetti = document.getElementById('confetti');

const regEx = /https:\/\/cbsd\.instructure\.com\/courses\/([0-9]{5})\/assignments\/([0-9]{6})\?module_item_id=([0-9]{7})|https:\/\/cbsd\.instructure\.com\/courses\/([0-9]{5})\/assignments\/([0-9]{6})/g;

var getParams = function (url) {
    var params = {};
    var parser = document.createElement('a');
    parser.href = url;
    var query = parser.search.substring(1);
    var vars = query.split('&');
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        params[pair[0]] = decodeURIComponent(pair[1]);
    }
    return params;
};
function error(message)
{
  var notification = {
    type: "basic",
    title: "Error",
    iconUrl: "images/error.ico",
    message: message
  }
  chrome.notifications.create(notification);
}
function isCanvas(domain)
{
  return regEx.test(domain);
}
function isMod(dom)
{
  var parameters = getParams(dom);
  if (parameters) {
    return(true)
  } else {
    return(false)
  }
}

confetti.onclick = function(element) {
  chrome.tabs.query({active: true, lastFocusedWindow: true}, tabs => {
  let domain = tabs[0].url;
  var canvasCheck = isCanvas(domain)
  if (canvasCheck === true) {
    error(isMod(domain).toString());
    /*/ if (andOrQuestion) {
      let newUrl = domain + "&confetti=true";
      chrome.tabs.update({url: newUrl});
    } else {
      let newUrl = domain + "?confetti=true"
      chrome.tabs.update({url: newUrl});
    } /*/
  } else {
    // error("You are not on an assignment page!")
  }
  });
}
let canfetti=document.getElementById('canfetti');
const regEx=/https:\/\/cbsd\.instructure\.com\/课程\/([0-9]{5})\/作业\/([0-9]{6})\?模块项目id=([0-9]{7})https:\/\/cbsd\.instructure\.com\/课程\/([0-9]{5})\/作业\/([0-9]{6})/g;
var getParams=函数(url){
var params={};
var parser=document.createElement('a');
parser.href=url;
var query=parser.search.substring(1);
var vars=query.split('&');
对于(变量i=0;i{
让域=制表符[0]。url;
var canvasCheck=isCanvas(域)
如果(画布检查===真){
错误(isMod(域).toString());
/*/如果(问题){
让newUrl=domain+“&confetti=true”;
chrome.tabs.update({url:newUrl});
}否则{
让newUrl=domain+“?五彩纸屑=true”
chrome.tabs.update({url:newUrl});
} /*/
}否则{
//错误(“您不在作业页上!”)
}
});
}

感谢您抽出时间回答这个问题,祝您度过愉快的一天

什么是
isCanvas
isCanvas
只是:
返回regEx.test(域)
是Chrome扩展库的
error()
函数的一部分吗?不,这是我创建的一个函数,它只为调试创建一个通知使用devtools调试代码:设置一个断点,然后使用单步热键/按钮运行代码。请注意,弹出窗口是一个单独的窗口,因此它有自己单独的devtools:右键单击弹出窗口内部,然后在菜单中选择“检查”。