publicSuffix.getDomain()
Gibt die registrierbare Domain (eTLD+1) des Hostnamens zurück oder null, wenn keine registrierbare Domain bestimmt werden kann.
Die registrierbare Domain ist das öffentliche Suffix plus ein vorausgehendes Label. Zum Beispiel ist für "sub.example.co.uk" die registrierbare Domain "example.co.uk".
Standardmäßig gibt diese Methode null zurück für:
- IP-Adressen.
- Hostnamen, die selbst ein öffentliches Suffix sind (z. B.
"com"). - Hostnamen ohne bekanntes öffentliches Suffix (z. B.
"localhost").
Der options Parameter bietet Flags, um dieses Standardverhalten zu ändern.
Syntax
let domain = browser.publicSuffix.getDomain(hostname)
let domain = browser.publicSuffix.getDomain(hostname, options)
Parameter
hostname-
string. Der Hostname, aus dem die registrierbare Domain extrahiert werden soll. optionsOptional-
object. Optionen, die den zurückgegebenen Wert steuern.encodingOptional-
publicSuffix.DomainEncoding. Die zu verwendende Kodierung für den zurückgegebenen Domainnamen. Standard ist"punycode". allowIPAddressOptional-
boolean. Wenntrueundhostnameeine IP-Adresse ist, wird die IP-Adresse unverändert zurückgegeben. Standard istfalse. allowPlainSuffixOptional-
boolean. Wenntrueundhostnameein bekanntes öffentliches Suffix ist, wird das Suffix unverändert zurückgegeben. Standard istfalse. allowUnknownSuffixOptional-
boolean. Wenntrueundhostnamekein bekanntes öffentliches Suffix hat, werden die letzten beiden Domain-Labels des Hostnamens zurückgegeben. Standard istfalse.
Rückgabewert
Ein string, der die registrierbare Domain von hostname enthält, oder null, wenn keine registrierbare Domain bestimmt werden kann.
Es wird ein Fehler ausgelöst, wenn hostname kein gültiger Hostname ist.
Beispiele
Ermitteln Sie die registrierbare Domain eines Hostnamens:
browser.publicSuffix.getDomain("sub.example.com"); // "example.com"
browser.publicSuffix.getDomain("sub.example.co.uk"); // "example.co.uk"
browser.publicSuffix.getDomain("user.github.io"); // "user.github.io"
browser.publicSuffix.getDomain("com"); // null (is itself a suffix)
browser.publicSuffix.getDomain("192.0.2.1"); // null (IP address)
browser.publicSuffix.getDomain("localhost"); // null (no known suffix)
Verwenden von allowIPAddress, um IP-Adressen unverändert zurückzugeben:
browser.publicSuffix.getDomain("192.0.2.1", { allowIPAddress: true });
// "192.0.2.1"
browser.publicSuffix.getDomain("[2001:db8::1]", { allowIPAddress: true });
// "2001:db8::1"
Verwenden von allowPlainSuffix, um Hostnamen zurückzugeben, die öffentliche Suffixe sind:
browser.publicSuffix.getDomain("co.uk", { allowPlainSuffix: true });
// "co.uk"
Verwenden von allowUnknownSuffix zur Behandlung privater oder lokaler Domains:
browser.publicSuffix.getDomain("mydevice.local", { allowUnknownSuffix: true });
// "mydevice.local"
browser.publicSuffix.getDomain("host.intranet", { allowUnknownSuffix: true });
// "host.intranet"
Verwenden von encoding: "display" für internationalisierte Domainnamen:
// "xn--nxasmq6b.com" is the punycode form of "βόλος.com"
browser.publicSuffix.getDomain("sub.xn--nxasmq6b.com", { encoding: "display" });
// "βόλος.com"
// Domains with confusable characters remain in punycode
// "xn--bs-red.com" has characters confusable with another script
browser.publicSuffix.getDomain("sub.xn--bs-red.com", { encoding: "display" });
// "xn--bs-red.com"