publicSuffix.getDomain()
Gibt die registrierbare Domain (eTLD+1) des Hostnamens zurück oder null, wenn keine registrierbare Domain ermittelt werden kann.
Die registrierbare Domain ist das öffentliche Suffix plus ein vorangestelltes Label. Zum Beispiel, für "sub.example.co.uk" ist 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 zum Ändern dieses Standardverhaltens.
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 Kodierung, die für den zurückgegebenen Domainnamen verwendet werden soll. Standardwert ist"punycode". allowIPAddressOptional-
boolean. Wenntrueundhostnameeine IP-Adresse ist, wird die IP-Adresse unverändert zurückgegeben. Standardwert istfalse. allowPlainSuffixOptional-
boolean. Wenntrueundhostnameein bekanntes öffentliches Suffix ist, wird das Suffix unverändert zurückgegeben. Standardwert istfalse. allowUnknownSuffixOptional-
boolean. Wenntrueundhostnamekein bekanntes öffentliches Suffix hat, werden die letzten beiden Domain-Labels des Hostnamens zurückgegeben. Standardwert istfalse.
Rückgabewert
Ein string, der die registrierbare Domain von hostname enthält, oder null, wenn keine registrierbare Domain ermittelt werden kann.
Löst einen Fehler aus, wenn hostname kein gültiger Hostname ist.
Beispiele
Die registrierbare Domain eines Hostnamens ermitteln:
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)
Verwendung 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"
Verwendung von allowPlainSuffix, um Hostnamen, die öffentliche Suffixe sind, zurückzugeben:
browser.publicSuffix.getDomain("co.uk", { allowPlainSuffix: true });
// "co.uk"
Verwendung von allowUnknownSuffix, um mit privaten oder lokalen Domains umzugehen:
browser.publicSuffix.getDomain("my-device.local", { allowUnknownSuffix: true });
// "my-device.local"
browser.publicSuffix.getDomain("host.intranet", { allowUnknownSuffix: true });
// "host.intranet"
Verwendung 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"