Это очень интересный вопрос. Вы правы, такая же политика происхождения запрещает инъекцию JS. Но у Google Analytics есть преимущество: оно уже есть на вашем сайте (код трекера).
Вот как это работает (насколько я вижу):
- Когда вы открываете аналитику на странице, вы сначала переходите на https://www.google.com/analytics/reporting/iyp_launch
- Эта страница перенаправляет на ваш сайт и добавляет к URL-адресу сеанс Google (например, http://example.com/#gaso=THESESSION
- Трекер теперь проверяет, является ли реферер iyp_launch и установлен ли gaso. Если да, он не только загружает трекер, но также вводит JS, необходимый для запроса дополнительных данных и рендеринга наложений. Таким образом, JS выполняется внутри фрейма (или окна) и обходит политику того же происхождения.
- Поскольку Google Anaytics уже отслеживает ваш визит (т. Е. Идентифицирует вас как того же пользователя, который просматривал предыдущую страницу), с тех пор он может вводить дополнительный JS вместе с трекером, пока ваш визит не закончится (т.е. вы закроете страницу) , Таким образом, наложения могут быть обработаны снова после нажатия на ссылку.
Так что, я думаю, суть в том, что такие вещи, как внутристраничная аналитика, могут быть выполнены, если владелец сайта уже доверял вам, добавив скрипт, которым вы управляете, на свой сайт (это хороший пример того, почему нужно быть очень осторожным). прежде чем делать такую вещь). Если у вас нет такого доступа к сайту, возможно, будет невозможно обойти политику одного и того же происхождения - по крайней мере, я не могу придумать другой способ сделать это (за исключением, возможно, проксирования всех запросов через ваш сервер). , но это приводит к другим серьезным проблемам).