我正在做 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);
}
使用简单的条件
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
}