检查userinput是否为XUL中的有效URI

时间:2020-03-05 18:44:52  来源:igfitidea点击:

Mozilla XUL工具箱中是否有内置函数/方法可以检查给定字符串是否为有效URI?我寻找了一个但没有找到,但是由于这是我第一次使用XUL及其文档,因此可能只是我忽略了它。所以我只是确定在开始编写自己的IsValidURI函数之前。

解决方案

回答

我们正在寻找nsIIOService.newURI(...)方法。如果URI字符串无效,则抛出NS_ERROR_MALFORMED_URI。

例子:

try {
  var ioServ = Components.classes["@mozilla.org/network/io-service;1"]
                         .getService(Components.interfaces.nsIIOService);
  var uriObj = ioServ.newURI(uriString, uriCharset, baseURI);
} catch (e) {

  // catch the error here

}