Javascript Chrome扩展中if语句之后未运行函数
我正在为87.0.4280.66版做一个Chrome扩展 这是一个有趣的脚本库,可以随意使用应用程序 现在,我正在制作一个Chrome扩展,当你点击一个按钮时,它会添加一个链接,让它播放五彩纸屑 我让它检查是否有参数存在,以及它是否也是一个指令链接 问题是当我调用函数时,它根本不运行它 下面是负责更新URL以添加参数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 = /
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:右键单击弹出窗口内部,然后在菜单中选择“检查”。