publicSuffix.getDomain()
Gibt die registrierbare Domäne (eTLD+1) des Hostnamens zurück oder null, falls keine registrierbare Domäne ermittelt werden kann.
Die registrierbare Domäne besteht aus dem öffentlichen Suffix plus einem vorangehenden Label. Zum Beispiel ist für "sub.example.co.uk" die registrierbare Domäne "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 Domäne extrahiert werden soll. optionsOptional-
object. Optionen, die den zurückgegebenen Wert steuern.encodingOptional-
publicSuffix.DomainEncoding. Die Kodierung, die für den zurückgegebenen Domänennamen verwendet werden soll. 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 Domäne von hostname enthält, oder null, falls keine registrierbare Domäne ermittelt werden kann.
Wirft einen Fehler, wenn hostname kein gültiger Hostname ist.
Beispiele
Ermitteln Sie die registrierbare Domäne eines Hostnamens:
console.log(browser.publicSuffix.getDomain("sub.example.com")); // "example.com"
console.log(browser.publicSuffix.getDomain("sub.example.co.uk")); // "example.co.uk"
console.log(browser.publicSuffix.getDomain("user.github.io")); // "user.github.io"
console.log(browser.publicSuffix.getDomain("com")); // null (is itself a suffix)
console.log(browser.publicSuffix.getDomain("192.0.2.1")); // null (IP address)
console.log(browser.publicSuffix.getDomain("localhost")); // null (no known suffix)
Verwenden von allowIPAddress, um IP-Adressen unverändert zurückzugeben:
console.log(
browser.publicSuffix.getDomain("192.0.2.1", { allowIPAddress: true }),
); // "192.0.2.1"
console.log(
browser.publicSuffix.getDomain("[2001:db8::1]", { allowIPAddress: true }),
); // "2001:db8::1"
Verwenden von allowPlainSuffix, um Hostnamen, die öffentliche Suffixe sind, zurückzugeben:
console.log(
browser.publicSuffix.getDomain("co.uk", { allowPlainSuffix: true }),
); // "co.uk"
Verwenden von allowUnknownSuffix, um private oder lokale Domänen zu verarbeiten:
console.log(
browser.publicSuffix.getDomain("mydevice.local", {
allowUnknownSuffix: true,
}),
); // "mydevice.local"
console.log(
browser.publicSuffix.getDomain("host.intranet", { allowUnknownSuffix: true }),
); // "host.intranet"
Verwenden von encoding: "display" für internationalisierte Domain-Namen:
// "xn--nxasmq6b.com" is the punycode form of "βόλος.com"
console.log(
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
console.log(
browser.publicSuffix.getDomain("sub.xn--bs-red.com", {
encoding: "display",
}),
); // "xn--bs-red.com"