Comments (13)
I guess EdgiOS and FxiOS should also be included in that array?
See, that's the question. You're completely right, the inconsistency sucks. I don't know how or why I did that.
My gut says this means I need to add iOS Firefox and Edge, but my heart says I should drop Chrome π
from phpuseragent.
I've gone back and forth and back and forth on how to handle iOS browsers. It's a complex issue with no right answer.
As you've seen, thus far I've just landed on just not handling them to and letting them be parsed as Safari.
I've got two groups of people who use this
a. people who use it for deploying features by browser
b. people who use it for stats/analytics
I suspect for the majority of users, not parsing them is in their best interest -
If I called CriOS
"Chrome", someone offering up a feature only available on Chrome could be burned because CriOS
isn't actually Chrome and doesn't behave like Chrome.
On the other hand people using it for analytics might be burned because they get inflated states for Chrome use, despite it actually being Safari, so they invest more time in optimizing for Chrome and not enough time optimizing for Safari that people are actually running.
As for the specific advantages of detecting them, there are certainly going to be people specifically targeting features towards specific Safari wrapping pseudo-browsers - I imagine propper feature detection is more optimal in these cases.
As for the stats people, I don't know why you'd actually care what Safari wrapper they're running, it doesn't really affect you?
Please push back though, this is just the state of my thinking currently. I'm more than happy to hear you out.
from phpuseragent.
If I called CriOS "Chrome", someone offering up a feature only available on Chrome could be burned because CriOS isn't actually Chrome and doesn't behave like Chrome.
This makes total sense. It would definitely be misleading.
And indeed... not sure how useful it is to know what browser the person uses, if in the end the actual data is "how to support our users".
That all said.......... I'm really reporting a bug in this topic π CriOS is reported as iPhone Chrome, while the others go as Safari, as it would make more sense.
from phpuseragent.
I'm really reporting a bug in this topic π CriOS is reported as iPhone Chrome, while the others go as Safari, as it would make more sense.
HAH - I need to work on my reading comprehension π I feel like a dork now. I didn't realize that was the caseβ¦Β let me get back to youβ¦
from phpuseragent.
There's a translation happening here.
I guess EdgiOS and FxiOS should also be included in that array?
Seems I just copy-pasted without reading lol nvm
from phpuseragent.
I'm not exactly sure what's going on, I didn't took the time to fully grasp the codebase. Anyhow, I would guess by the time you coded the CriOS override, FxiOS and EdgiOS weren't available yet, so we could guess it's just outdated?
Another idea, as to cater to that duality you face, is adding an option to the class instance (or parse()
call, so it feeds directly to the procedural function), like parse($keepSimilars = false)
. Go with the default behavior the library currently has (if I understood it righ) - which is to translate all "similar browsers" to their original counterparts (e.g. IceWeasel to Firefox, CriOS to Chrome, and add EdgiOS/FxiOS to the bucket), and then allow the user to request that all similar browsers are kept as-is, so the library can better serve their statistical purposes.
Does that make any sense?
from phpuseragent.
Fun fact: a while after the discovery of your fake clone, I stumbled upon this dependency on the project and realized I was kinda talking to you here as if you were really working with us (re: "yep you know for which project" in the description and all) π€¦ββοΈ
Anyhow, at least I didn't include this because of the other guy, it was just a coincidence. I guess I should've asked him for help, instead of formally opening this issue lol
from phpuseragent.
a while after the discovery of your fake clone, I stumbled upon this dependency
My fake clone?
from phpuseragent.
from phpuseragent.
Oh, I see. You worked with the person who stole my identity! Did you work for one of the two companies that have already reached out to me - or is there a third Iβm just learning about now?
from phpuseragent.
from phpuseragent.
Thanks for the heads up. I contacted GitHub and their account is already gone. It was really quick.
from phpuseragent.
from phpuseragent.
Related Issues (20)
- No recognition of e-mail clients HOT 2
- Add user_agent initial string to output HOT 2
- Support Chrome based MS Edge
- Ruby port HOT 2
- Rename Macintosh to Mac HOT 5
- Opera Next HOT 2
- Chrome User Agent phase out HOT 13
- UC Browser not detected HOT 1
- Detect Applebot HOT 1
- Instagram and Snapchat browsers HOT 6
- Can Not Detect iPadOS 13+ HOT 1
- Consider supporting smart TV UA strings. HOT 1
- Link Preview user agent - such as in iMessage or Telegram? HOT 3
- Googlebot Mobile not Detected HOT 2
- [New] Device Detector API Beats Regex Solutions HOT 2
- Incorrect browser detected for "Motorola Edge" HOT 2
- Version of operation system (Android and iOS) HOT 1
- object mode HOT 3
- Can you add more Chinese browsers HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpuseragent.