我正在进行FF扩展,我遇到了障碍。这就是我所拥有的:
var canLink = document.querySelector('link[rel="service"]').href;
这找到了一个rel =“service”的链接,效果很好。但是,如果页面没有与rel = service的链接,它将返回null并突破程序的其余部分。如何才能使它如果canLink = null,它不会中断?
有没有办法捕捉到这个错误?
这是文件。第12行是self.port.emit,它工作正常。
//Get link if it exists
var elem = document.querySelector('link[rel="service"]').href,
canLink = elem ? elem.href : "";
if (canLink){
self.port.emit("link", canLink);
}
else {
canLink = "";
self.port.emit("link", canLink);
}
答案 0 :(得分:7)
使用简单的条件
var elem = document.querySelector('link[rel="service"]');
var canLink = elem ? elem.href : "";
现在,在您的代码中,您可以检查代码中""
(空字符串)并采取其他措施,例如
if(canLink !== "") { // could be just written as if(canLink){ ... }
// do something with the canLink now
}