일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- swift
- https
- NeXT
- 페이스북
- ios
- 카카오톡
- Elastic Beanstalk
- angular
- beanstalk
- 안드로이드
- 웹뷰
- Route53
- cors
- fanzeel
- Android
- 감사일기
- nextjs
- 도메인
- AWS
- TypeScript
- node
- php
- 네이티브
- hybrid
- JavaScript
- 알려줌
- angular4
- react
- node.js
- S3
- Today
- Total
쪼렙 as! 풀스택
17. 10. 11. TypeScript 의 window 객체에 property 추가하기. Google Analytics 추적코드 심기, 본문
17. 10. 11. TypeScript 의 window 객체에 property 추가하기. Google Analytics 추적코드 심기,
코코앱 2017. 10. 11. 12:04Angular4로 component 단위의 개발은 매우 편리한데,
Javascript 라이브러리를 가져다 쓰려면, 꼭 귀찮은 일들이 발생하기 마련이다.
GoogleAnalytics 로 Tracking 을 해야됐어서, Javascript 코드로 심으려고 보니까,
window 객체에 property 를 추가해야했다.
개발자 가이드를 보면,
https://developers.google.com/analytics/devguides/collection/gtagjs/
<!-- Global Site Tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments)};
gtag('js', new Date());
gtag('config', 'GA_TRACKING_ID');
</script>
window 객체에 dataLayer 라는 프로퍼티와, gtag() 라는 function 을 추가해야한다.
문제는 TypeScript 에서 window 객체에는 그냥 저런식으로 접근할 수도, 추가할 수 도 없다.
그래서 TypeScript 에서 window 객체에 새로운 property 를 추가하는 방법이 몇가지가 있는데 아래 사이트에 잘 설명되어 있다.
나는 간단하게, index.html 의 Javascript 부분에서 gtag() 를 정의해 두었고,
TypeScript 내부에서 GA 라는 클래스를 만들어서, (<any>window)를 이용해 gtag()에 접근하였다.
'개발 일지 > Web & Server' 카테고리의 다른 글
Angular - 라우터 Navigate 하기, param 가져오기. (0) | 2018.01.05 |
---|---|
17.11.15. 페이스북의 알림기능 따라 만들기. Fanzeel.com - Angular4 (0) | 2017.11.15 |
17.09.28 Angular4 - Route 상태 저장해두기. RouteReuseStrategy 구현. (0) | 2017.09.28 |
17.09.15 - 토르3 - 라그나로크 팬질 홈 작업 중, 브라우저 blob캐시, 위지윅 tinyMCE, 정규식, CDN 서버 (0) | 2017.09.14 |
Angular4, SEO 와 페이스북 공유 크롤링 봇을 위한 몸부림 (1) | 2017.06.16 |