JavaScript events triggered by Saber Feedback

Your JavaScript code can be notified of the following Saber Feedback events:

By listening for these events, you can execute your own code at key times in the life-cycle of your Saber Feedback button and form.

on_ready

The  on_ready event is triggered as soon a the Saber Feedback widget is loaded and ready for use. That is, as soon as the feedback button has been added to your webpage.

There are no arguments passed to the  on_ready event handler.

Saber.do('set_option', 'on_ready', function() {
    alert('Saber is ready!');
  }
);
		

on_open

The  on_open event is triggered when the Saber Feedback button is clicked, or the widget is opened using the Saber.open() Javascript API method.

There are no arguments passed to the  on_open event handler.

Saber.do('set_option', 'on_open', function() {
    alert('Saber opened!');
  }
);
		

on_complete

The  on_complete event is triggered when a feedback report is submitted through Saber Feedback.

A Javascript hash containing details about the submitted feedback report is passed to the event handler, in the following format:

{
  feedback_report: {
    id: "a1b2c3d4e5f6",
    full_details_url: "https://app.saberfeedback.com/websites/g7h8i9j0k1l2/feedback/a1b2c3d4e5f6",
    screenshot_url: "https://api.saberfeedback.com/feedback/16dcfb9d4936480377dd5c1e0a331a444dbe626a/screenshot",
    user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38",
    browser_name: "Safari",
    borwser_version: "11.1.2",
    os_name: "Mac OS X",
    os_version: "High Sierra",
    viewport_width: 1280,
    viewport_height: 720,
    url: "https://app.saberfeedback.com",
    plugins: [
      "Widevine Content Decryption Module",
      "Chrome PDF Viewer",
      "Shockwave Flash",
      "Chrome Remote Desktop Viewer",
      "Native Client"
    ],
    events: [
      {
        url: "https://app.saberfeedback.com",
        method: "GET",
        timestamp: "Mon Oct 19 2015 13:51:17 GMT+0100 (BST)",
        type: "page_load"
      },
      {
        content: "Feedback Button Clicked",
        timestamp: "Mon Oct 19 2015 13:51:27 GMT+0100 (BST)",
        type: "feedback"
      },
      {
        content: "Feedback Report Submitted",
        timestamp: "Mon Oct 19 2015 13:51:37 GMT+0100 (BST)",
        type: "feedback"
      }
    ],
    values: {
      Category: "Question",
      Email: "matt@saberfeedback.com",
      Message: "This is a bug!",
      user_id: 12345
    }
  }
}
		

Example

Saber.do('set_option', 'on_complete', function(data) {
    alert('Feedback submitted by '+data.feedback_report.values.Email+'!');
    // -> Feedback submitted by matt@saberfeedback.com!
  }
);
		

on_cancel

The  on_cancel event is triggered when a user manually closes Saber Feedback without submitting a feedback report.

There are no arguments passed to the  on_cancel event handler.

Saber.do('set_option', 'on_cancel', function() {
    alert('Saber canceled!');
  }
);

on_close

The  on_close event is triggered when the Saber Feedback widget is closed, either by user interaction or through the Saber.close() Javascript API method.

This event will be triggered regardless of whether a feedback report was submitted or not, and will alays be triggered  after on_complete or on_cancel is triggered.

There are no arguments passed to the  on_close event handler.

Saber.do('set_option', 'on_close', function() {
    alert('Saber closed!');
  }
);