Ignore:
Timestamp:
11/19/12 15:56:20 (12 years ago)
Author:
pharms
Message:
  • added support for further event types
  • added automatic sending of data after an interaction timeout
  • corrected encoding of Strings in JSON
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-htmlmonitor/src/main/js/autoquest-htmlmonitor.js

    r992 r999  
    7373    //{ "tag": "blockquote", "actions": [  ] }, 
    7474    { "tag": "body", "actions": [ "onbeforeunload", 
     75                                  "onload", 
    7576                                  "onunload", 
    7677                                  //"onerror", 
     
    103104    //{ "tag": "figure", "actions": [  ] }, 
    104105    //{ "tag": "footer", "actions": [  ] }, 
    105     //{ "tag": "form", "actions": [  ] }, 
     106    { "tag": "form", "actions": [ "onreset", 
     107                                  "onsubmit" ] }, 
    106108    //{ "tag": "header", "actions": [  ] }, 
    107109    //{ "tag": "hgroup", "actions": [  ] }, 
     
    115117    { "tag": "i", "actions": [ "onclick" ] }, 
    116118    //{ "tag": "iframe", "actions": [  ] }, 
    117     { "tag": "img", "actions": [ "onclick" ] }, 
     119    { "tag": "img", "actions": [ "onabort", 
     120                                 "onclick" ] }, 
    118121    { "tag": "input_text", "actions": [ "onchange", 
    119                                         "onfocus" ] }, 
     122                                        "onfocus", 
     123                                        "onselect" ] }, 
    120124    { "tag": "input_password", "actions": [ "onchange", 
    121125                                            "onfocus" ] }, 
     
    180184    { "tag": "td", "actions": [ "onclick" ] }, 
    181185    { "tag": "textarea", "actions": [ "onchange", 
    182                                       "onfocus" ] }, 
     186                                      "onfocus", 
     187                                      "onselect" ] }, 
    183188    //{ "tag": "tfoot", "actions": [  ] }, 
    184189    { "tag": "th", "actions": [ "onclick" ] }, 
     
    218223 
    219224/** 
     225 * stores the interval for sending data of inactive browser windows 
     226 */ 
     227var autoquestSendInterval; 
     228 
     229/** 
    220230 * automatically executed to initialize the event handling 
    221231 */ 
     
    237247            // if the document is not loaded yet, try to add further event handling later 
    238248            setTimeout(initEventHandling, 200); 
     249        } 
     250        else if (!autoquestSendInterval) { 
     251            // recall sending data each 100 seconds to ensure, that for browser windows staying 
     252            // open the data will be send, as well. 
     253            autoquestSendInterval = setTimeout(sendRequest, 100000); 
    239254        } 
    240255    } 
     
    452467        setTimeout(sendRequest, 100); 
    453468    } 
    454     else if (eventType === "onunload") { 
     469    else if ((eventType === "onunload") || (eventType === "onbeforeunload")) { 
    455470        log("initiating sending events"); 
    456471        sendRequest(); 
     
    700715     
    701716    this.setSelectedValue = function(value) { 
    702         this.selectedValue = value; 
     717        this.selectedValue = encodeText(value); 
    703718    }; 
    704719   
     
    732747        return eventInJSON; 
    733748    }; 
     749     
     750    function encodeText(text) { 
     751        return text.replace(/\\/g, "\\\\").replace(/\"/g, "\\\""); 
     752    }; 
    734753}  
    735754 
Note: See TracChangeset for help on using the changeset viewer.