JavaScript:将Google Analytics/Yandex.Metrica减少到推荐人和屏幕大小

JavaScript:将Google Analytics/Yandex.Metrica减少到推荐人和屏幕大小,javascript,html,css,google-analytics,yandex-api,Javascript,Html,Css,Google Analytics,Yandex Api,我觉得在我的网站上嵌入一个外部JavaScript来进行各种我实际上不需要的跟踪并不舒服 我真正需要的是引用者和屏幕大小,这不能只用静态HTMLimg标记来完成 加载不可见图像(1×1 gif)的最标准兼容、浏览器支持和渲染友好的方式是什么?URL中包含一个引用和屏幕大小 我正在寻找一个通用的答案,尽管你可以用。文档来表达。referer将为你找到referer window.screen.width和window.screen.height将获得屏幕分辨率 您只需将它们与new Image()

我觉得在我的网站上嵌入一个外部JavaScript来进行各种我实际上不需要的跟踪并不舒服

我真正需要的是引用者和屏幕大小,这不能只用静态HTML
img
标记来完成

加载不可见图像(1×1 gif)的最标准兼容、浏览器支持和渲染友好的方式是什么?URL中包含一个引用和屏幕大小


我正在寻找一个通用的答案,尽管你可以用。

文档来表达。referer
将为你找到referer

window.screen.width
window.screen.height
将获得屏幕分辨率

您只需将它们与
new Image()
一起使用,即可让浏览器请求跟踪像素。使用
encodeURIComponent
在将值附加到URL之前对其进行清理

var r = encodeURIComponent(document.referrer),
    x = window.screen.width,
    y = window.screen.height,
    img = new Image();
img.src = '/tracking.gif?x=' + x + '&y=' + y + '&r=' + r;

请注意,在后续请求中,这将被缓存,因此您不会获得页面浏览次数(尽管您没有说您需要这样做)。这可能是理想的行为,因为您可以获得隐式的唯一访客跟踪。但是,为了避免缓存,可以通过
newdate().getTime()添加类似于当前时间戳的内容
作为附加参数。

文档。referer
将获取referer

window.screen.width
window.screen.height
将获得屏幕分辨率

您只需将它们与
new Image()
一起使用,即可让浏览器请求跟踪像素。使用
encodeURIComponent
在将值附加到URL之前对其进行清理

var r = encodeURIComponent(document.referrer),
    x = window.screen.width,
    y = window.screen.height,
    img = new Image();
img.src = '/tracking.gif?x=' + x + '&y=' + y + '&r=' + r;

请注意,在后续请求中,这将被缓存,因此您不会获得页面浏览次数(尽管您没有说您需要这样做)。这可能是理想的行为,因为您可以获得隐式的唯一访客跟踪。但是,为了避免缓存,可以通过
newdate().getTime()添加类似于当前时间戳的内容
作为一个附加参数。

是否
新建图像()
会导致渲染延迟?不,不应该(尽管我认为它会依赖于浏览器)。例如,人们总是使用这种方法在背景中预加载大型图像。那么,它将作为图像对象加载,但不会像这里所希望的那样插入实际渲染的任何位置?有没有浏览器试图在这里作弊,在对象被实际引用之前根本不加载对象?我见过的每个浏览器都会在你这样做时下载图像。这与GA使用的技术相同——例如,在DOM中永远看不到_utm.gif像素。他们实际使用
新图像(1,1)
(我承认我没有一个很好的答案来解释为什么他们会这样指定大小。)
new Image()
会导致渲染延迟吗?不,不应该(尽管我认为这取决于浏览器)。例如,人们总是使用这种方法在背景中预加载大型图像。那么,它将作为图像对象加载,但不会像这里所希望的那样插入实际渲染的任何位置?有没有浏览器试图在这里作弊,在对象被实际引用之前根本不加载对象?我见过的每个浏览器都会在你这样做时下载图像。这与GA使用的技术相同——例如,在DOM中永远看不到_utm.gif像素。他们实际使用
新图像(1,1)(我承认我没有一个很好的答案来解释为什么他们会这样指定大小)。