我正在开发一个网络应用程序,我想对我们的用户如何实际使用我们的软件有一些第一手经验。这是我的想法:
*使用javascript保存html-DOM和光标位置。可能只有更改 DOM 来减少数据量。*将其与使用的用户浏览器一起保存到服务器。
根据记录和复制相应浏览器中鼠标移动的图像,执行更新 DOM 的 javascript。
以前做过吗?这在大多数情况下会起作用吗?
我正在开发一个网络应用程序,我想对我们的用户如何实际使用我们的软件有一些第一手经验。这是我的想法:
*使用javascript保存html-DOM和光标位置。可能只有更改 DOM 来减少数据量。*将其与使用的用户浏览器一起保存到服务器。
根据记录和复制相应浏览器中鼠标移动的图像,执行更新 DOM 的 javascript。
以前做过吗?这在大多数情况下会起作用吗?
正如 circle73 所说,您可以通过画布使用 HTML5 来执行此操作,但是,我认为这不会跟踪鼠标位置。您可以编写一个 JavaScript 函数来每 x 秒跟踪一次鼠标坐标,您只需将其与屏幕截图进行计时,这样您就可以将鼠标移动与捕获的帧相匹配。
您的其他选择是通过 ActiveX 控件执行此操作,如下所示:使用 JavaScript 截取网页的屏幕截图?
我将通过以下高级策略来解决此问题:
使用jQuerymouseover
记录用户在页面上的鼠标位置。在本地存储这些位置(x,y 坐标)。使用这些坐标向您的服务器发送结构化请求。
使用像Selenium这样的浏览器自动化框架来“播放”存储的坐标。您可以使用与您的用户相同的路径,只是在开发中,才能看到他所看到的。例如:
void mouseMove(WebElement toElement, long xOffset, long yOffset)
这将(从当前位置)移动到新坐标。这里有更多信息。
使用 Selenium WebDriver 截取页面。更多信息在这里。