/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
this.state = { // The user agent input value.
value: this.props.userAgent, // Track the last passed userAgent value in the props to // to update the local state "value" when the prop changes
prevUserAgent: this.props.userAgent,
};
const androidVersion = "15"; const firefoxVersion = AppConstants.MOZ_APP_VERSION.replace(/[ab]\d+/, ""); // Bug 1953205 should revisit how the browser/user agent string list is implemented // and avoid hardcoding the chrome version number const chromeVersion = "134.0.0.0"; // Chrome uses a fixed version to reference WebKit and Safari const frozenWebkitVersionForChromeUA = "537.36";
browsers.push(
{
name: "Firefox Desktop", // Empty string will default the firefox original user agent
userAgent: "",
icon: "firefox",
version: firefoxVersion,
},
{
name: "Firefox for Android",
userAgent: `Mozilla/5.0 (Android ${androidVersion}; Mobile; rv:${firefoxVersion}) Gecko/${firefoxVersion} Firefox/${firefoxVersion}`,
icon: "firefox",
version: firefoxVersion,
},
{
name: "Chrome Desktop",
userAgent: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/${frozenWebkitVersionForChromeUA} (KHTML, like Gecko) Chrome/${chromeVersion} Safari/${frozenWebkitVersionForChromeUA}`,
icon: "chrome",
version: chromeVersion,
}
);
const menuItems = []; for (const browser of browsers) { const { icon, name, userAgent, version, separator } = browser;
menuItems.push(
MenuItem({
key: name,
className: "user-agent-selector-item" + (separator ? " separator" : ""),
label: [
name, // Only show the major version as chrome uses 136.0.0.0
version
? dom.span(
{ className: "user-agent-browser-version" },
version.split(".")[0]
)
: null,
],
icon: icon
? `chrome://devtools/skin/images/browsers/${icon}.svg`
: MenuItem.DUMMY_ICON,
tooltip: name,
checked: this.state.value == userAgent,
onClick: () => this.onChangeUserAgent(userAgent),
})
);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.