Feedback tool similar to the Google Feedback based on jQuery and HTML2Canvas.
(Derived of ivoviz/feedback)
Load jQuery, the plugin, and its CSS:
<script src="//code.jquery.com/jquery-latest.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="feedback.js"></script>
<link rel="stylesheet" href="feedback.min.css" />
Init plugin:
<script type="text/javascript">
$.feedback({
endpoint: 'http://example.com/feedback'
});
</script>
- jQuery
- html2canvas
Pretty much it should be working on any browser with canvas
support. Browsers with no canvas support won't display the feedback button.
The information from the client will be sent through ajax POST request. The information is in JSON format.
browser
- Browser information.url
- The page URL.note
- Description of the feedback.img
- The screenshot of the feedback. - base64 encoded data URI!html
- The structure of the page.
The URL where the plugin will post the screenshot and additional informations. (JSON datatype)
Default: ''
Whether you want your client to post their browser information (such as useragent, plugins used, etc.)
Default: true
Whether you want your client to post the page's HTML structure.
Default: false
Whether you want your client to post the URL of the page.
Default: true
Url to the proxy which is to be used for loading cross-origin images. If left empty, cross-origin images won't be loaded.
Default: ''
A function that returns extra information to be posted, it should return an object with the description (desc
) and
the information (info
) that you want to be posted.
Default: null
An optional list of categories to be displayed, the list will be displayed along with the description of the bug on a select.
Default: []
Whether to render each letter seperately. Necessary if letter-spacing is used.
Default: false
The default button text.
Default: Send feedback
The color of the highlight border. You can use values either like 'black', 'red', etc. or HEX codes like '#adadad'.
Default: black
The color of the shadow.
Default: black
Sets the horizontal / vertical distance of the shadow from the shape.
Default: 1
The blur level for the shadow.
Default: black
Sets the type of corner created, when two lines meet.
Default: bevel
Sets border of the highlighted area.
Default: 3
The URL where the plugin can download html2canvas.js from.
Default: html2canvas.js
The templates of the plugin. Each property of the tpl object is an HTML string describing a phase of the feedback tool. You could change them any time, but keep in mind to keep the elements' ids and classes so the script won't break.
Default: {'description': '...', 'highlighter': '...', ...}
- description: Description of the feedback module for the user
- highlighter: A series of controls to highlight and censor information on the page
- overview: Overview of what is going to be sent
- submitSuccess: Message displayed on succesful upload
- submitError: Message displayed if the upload fails
Function that runs when you close the plugin.
Default: null
Changing to false
will remove the borders from the highlighted areas when taking the screenshot.
Default: true
By default when you move your cursor over an element the plugin will temporarily highlight it until you move your cursor out of that area. I'm not exactly sure whether it's a good thing or not, but Google has it, so yeah.
Default: true
By Setting this true the user will have to describe the bug/idea before being able to highlight the area.
Default: false
Define a custom button instead of the default button that appears on the lower right corner.
Default: .feedback-btn
Sets whether the next modal for entering description should appear or not
Default: true
A callback function to be called when clicking on take screenshot button. The callback function's prototype is function(image)
Default: function () {}
Sets whether the user will be able to drag the feedback options modal or not
Default: true
feedback is released under the MIT license. (See LICENSE
)