- Jul 2023
-
developer.chrome.com developer.chrome.com
-
```js // Log the full user-agent data navigator .userAgentData.getHighEntropyValues( ["architecture", "model", "bitness", "platformVersion", "fullVersionList"]) .then(ua => { console.log(ua) });
// output { "architecture":"x86", "bitness":"64", "brands":[ { "brand":" Not A;Brand", "version":"99" }, { "brand":"Chromium", "version":"98" }, { "brand":"Google Chrome", "version":"98" } ], "fullVersionList":[ { "brand":" Not A;Brand", "version":"99.0.0.0" }, { "brand":"Chromium", "version":"98.0.4738.0" }, { "brand":"Google Chrome", "version":"98.0.4738.0" } ], "mobile":false, "model":"", "platformVersion":"12.0.1" } ```
Tags
- http
- http:header=accept-ch
- http:header=sec-ch-ua-full-version
- http:header=user-agent
- http:header=sec-ch-ua-full-version-list
- cito:cites=urn:ietf:rfc:1945
- conneg
- <meta http-equiv="accept-ch"/>
- wikipedia:en=HTTP_Client_Hints
- js
- http:header=sec-ch-ua-bitness
- http:header=sec-ch-ua-model
- http:header=sec-ch-ua-mobile
- http:header=sec-ch-ua-arch
- http:header=sec-ch-ua
- mobile
- cito:cites=urn:ietf:rfc:8942
- http:header=sec-ch-ua-platform-version
- http:header=sec-ch-ua-platform
Annotators
URL
-
-
wicg.github.io wicg.github.io
-
```idl dictionary NavigatorUABrandVersion { DOMString brand; DOMString version; };
dictionary UADataValues { DOMString architecture; DOMString bitness; sequence<NavigatorUABrandVersion> brands; DOMString formFactor; sequence<NavigatorUABrandVersion> fullVersionList; DOMString model; boolean mobile; DOMString platform; DOMString platformVersion; DOMString uaFullVersion; // deprecated in favor of fullVersionList boolean wow64; };
dictionary UALowEntropyJSON { sequence<NavigatorUABrandVersion> brands; boolean mobile; DOMString platform; };
[Exposed=(Window,Worker)] interface NavigatorUAData { readonly attribute FrozenArray<NavigatorUABrandVersion> brands; readonly attribute boolean mobile; readonly attribute DOMString platform; Promise<UADataValues> getHighEntropyValues (sequence<DOMString> hints ); UALowEntropyJSON toJSON (); };
interface mixin NavigatorUA { [SecureContext] readonly attribute NavigatorUAData userAgentData ; };
Navigator includes NavigatorUA; WorkerNavigator includes NavigatorUA; ```
Tags
- http
- http:header=sec-ch-ua-form-factor
- http:header=accept-ch
- http:header=sec-ch-ua-full-version
- http:header=user-agent
- http:header=sec-ch-ua-full-version-list
- conneg
- wikipedia:en=HTTP_Client_Hints
- http:header=sec-ch-ua-bitness
- http:header=sec-ch-ua-model
- http:header=sec-ch-ua-mobile
- http:header=sec-ch-ua-arch
- http:header=sec-ch-ua
- mobile
- cito:cites=urn:ietf:rfc:8942
- http:header=sec-ch-ua-platform-version
- http:header=sec-ch-ua-platform
- http:header=sec-ch-ua-wow64
Annotators
URL
-
- Apr 2023
- Apr 2022
-
www.donnelly-house.net www.donnelly-house.net
-
CSP is taking away too much of the user's power and control over their browser use
-
- Mar 2022
-
www.infoworld.com www.infoworld.com
-
Whether to inject behavior into a Web page is my choice. How I do so is nobody's business. If a need that can be met with a bookmarklet instead requires a set of browser-specific extensions, that's a tax on developers.
-
- Feb 2022
-
www.geoffreylitt.com www.geoffreylitt.comWildcard1
-
browser extension
I've spent a lot of time in frustrated conversations arguing the case for browser extensions being treated as a first class concern by browser makers (well, one browser maker). But more and more, I've come to settle on the conclusion that any browser extension of the sort that Wildcard is should also come with the option of using it (or possibly a stripped down version) as a bookmarklet, or a separate tool that can process offline data—no special permissions needed.
(This isn't because I was wrong about browser extensions; it's precisely because extension APIs were drastically limited that this becomes a rational approach.)
Tags
Annotators
URL
-
- Mar 2021
-
darekkay.com darekkay.com
-
This is a useful little tip.
Tags
Annotators
URL
-
- Oct 2020
-
-
Identify your user agents When deploying software that makes requests to other sites, you should set a custom User-Agent header to identify the software and provide a means to contact its maintainers. Many of the automated requests we receive have generic user-agent headers such as Java/1.6.0 or Python-urllib/2.1 which provide no information on the actual software responsible for making the requests.
-
- May 2020
-
www.w3.org www.w3.org
-
allows you to deploy "'strict-dynamic' in a backwards compatible way, without requiring user-agent sniffing
-
- Apr 2020
-
haveibeenpwned.com haveibeenpwned.com
-
Each request to the API must be accompanied by a user agent request header. Typically this should be the name of the app consuming the service.
-
- Feb 2020
-
github.com github.com
-
www.ruby-toolbox.com www.ruby-toolbox.com
- Oct 2018