云眼 Web 实验的 AngularJS 帮助
About 2 min
云眼 Web 实验的 AngularJS 帮助
本主题介绍如何:
- 在 AngularJS 站点上无缝运行云眼Web实验
AngularJS 是当今最流行的单页应用程序框架之一。云眼 Web 实验在单页应用程序上不会开箱即用,但是在 AngularJS 的情况下,有一些简单的步骤可以使其无缝工作。云眼 Web 实验在页面的页面加载事件期间运行,这是普通网页所需的。当浏览器加载页面时,云眼 Web 实验将运行,评估每个实验的目标条件,并在满足这些条件时执行这些条件。对于单页应用,在页面之间导航时不会重新加载页面,因此不会执行云眼 Web 实,并且即使实验配置为在当前 URL 上运行,也不会激活实验。
默认情况下,云眼 Web 实验会立即执行,这意味着云眼 Web 实验会在页面加载时尽快评估其定位条件。云眼 Web 实验有6种激活模式。
在 AngularJS 的情况下,将实验切换为手动激活将使它们运行,而无需进行任何其他配置。
实现
要启用云眼 Web 实验以在 AngularJS 站点上运行实验,需要将以下代码行复制到 Project Javascript。
并非所有计划都可以访问 Project Javascript 。如果是这种情况,可以将代码直接复制到页面中。
(function() {
'use strict';
// Wait for angularJS to be ready
var interval = setInterval(function () {
if (window.angular !== undefined && window.angular.element(document.getElementsByTagName('body')).scope() !== undefined) {
clearInterval(interval);
var scope = window.angular.element(document.getElementsByTagName('body')).scope();
// Listen on new page loaded
scope.$on('$viewContentLoaded', function () {
// Sometimes $viewContentLoaded is called too early, in that case you can use $locationChangeSuccess
// Activate the manually activated experiments
window.eyeofcloud.push(["activate"]);
// Fake a pageview event.
// A pageview event will be sent by default if an experiment is running.
// They get de-duplicated server side
window.eyeofcloud.push(["trackEvent", document.URL]);
});
}
}, 500);
})();
此代码使用 AngularJS listener 和云眼实验 JS API 在每次 AngularJS 加载新页面时激活手动激活的实验。实验仍需要满足网址和受众群体定位条件才能执行。除此之外,它还会触发一个云眼自定义事件来注册每个新网页的网页浏览量,以便将其用作实验中的网页浏览量目标。
设置实验
需要将实验的激活模式从“立即”切换到“手动”。请参阅激活页面文档以了解如何更改激活模式。此外,有关重要信息,请参阅对动态网站的支持。
确保网址定位条件设置正确。现在可以开始实验,它将在 AngularJS 页面上激活。