Comments (2)
We are following step 2a of this doc:
https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2a-add-the-segment-snippet
It says to include an inline script which creates a window.analytics
object that has a number of different methods on it, but it doesn't include user
,
My understanding is that this is meant as a temporary queue so that you can call analytics methods while the request for the segment script is in flight. If a user has an ad blocker enabled though, the request to segment is blocked, meaning window.analytics
is defined from the inline script but it will not have the user
method available. Which means when we try to call the method user()
, we get a run time error.
Now we first check for the existence of user
on the analytics object before calling it, but we have to ignore the typescript definition since the compiler thinks it's always defined.
from analytics-next.
@william-will-angi Apologies, I deleted my comment and reopened the issue that you responded immediately after I posted it, when I double checked and realized that user is not one of the buffered methods on the list -- didn't mean for you to see it (but I assume you got notified). You're correct.
On npm (AnalyticsBrowser), user is always defined and returns a promise, but not in the snippet -- a bit confusing. Unifying the api is something I'm noodling on.
from analytics-next.
Related Issues (20)
- Can `.load()` support a symmetric key to not expose real write key? HOT 1
- analytics-node does not close HTTPS connection on closeAndFlush HOT 2
- Snippet version 5.2.0 loads analytics.min.js and analytics.classic.js at the same time HOT 1
- How to Set a Whitelist of Domains for a Segment JavaScript source WriteKey to Prevent Misuse? HOT 1
- Typescript issue on consent object of CoreExtraContext type HOT 1
- Analytics not flushed in Node >= 18 HOT 1
- Safari's Enhanced Tracking Protection Leads to Unhandled Promise Rejection HOT 11
- @segment/analytics-consent-wrapper-onetrust README code sandbox link looks incorrect HOT 1
- npm install fails for Node 18.XX and Node 20.XX HOT 1
- Cannot install package via NPM HOT 7
- Could not resolve "./lib/window-analytics-helper" when building with vite HOT 1
- Setting a low `flushInterval` effectively breaks `closeAndFlush()` HOT 2
- Serve polyfill bundle from segment.com domain (for snippet/standalone users) HOT 6
- How to write an enrichment plugin that fires after a remote integration? HOT 4
- Serve polyfill bundle from segment.com domain (for snippet/standalone users) enhancement [test]
- Test
- In Jest: TypeError: analytics_next_1.AnalyticsBrowser is not a constructor HOT 1
- Support `exactOptionalPropertyTypes` in TypeScript HOT 3
- Vulnerability found
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 analytics-next.