目标:创建一个跟踪电子商务用户在给定网站上行为的Web应用程序。我正在创建一个跟踪js脚本,使我能够跟踪购物车的数量以及购物车何时被放弃。
问题:由于我不知道给定网站的 DOM 结构,因此我不知道我需要使用文档获取哪个 Id。GetElementById('#cartID')
我的潜在解决方案:我计划使用 C# asp.net 来创建后端,所以也许我可以(?)尝试下载每个网站页面,将其呈现在应用程序上并允许用户通过单击购物车来选择购物车的位置,然后在背上我可以尝试找到鼠标的 x 和 y pos, 图出单击了哪个元素,并以这种方式标识 ID 属性。
我的解决方案似乎效率低下且过于复杂。有没有更好的方法来解决这个问题?
此外我不想在后端存储购物车数据。问题只是找出"cart"的id以及它是否有值(这是简单的位)。困难的是找出"购物车"的id,该脚本应该由各种Web开发人员使用,因此id的结构和命名是不同的。
如果您使用的是角度js,则可以使用services
或rootScope
轻松解决此问题。
如果您不使用 Angular Js,那么要跟踪购物车数据,您应该通过以下方式使用本地存储。
var cartValue = [];
cartValue.push({itemId:123, itemName:'XYZ', itemPrice:23.12})
localStorage.setItem("myCart", cartValue);
当您在页面中想要更新购物车或想要获取购物车数据时
,请执行以下操作。要获取购物车数据:
localStorage.getItem("myCart");
要从任何其他页面或同一页面更新购物车值,请执行以下操作:
cartValue = localStorage.getItem("myCart");
cartValue.push({itemId:124, itemName:'ABC', itemPrice:63.18}
localStorage.setItem("myCart", cartValue);