我正在进行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
}