jQuery addClass example
Change class name on click in jQuery
by Shiv Singh
HTML
<script src="https://crm.primalead.com/public/js/DataStream.js"></script>
<script src="https://crm.primalead.com/public/js/msg.reader.js"></script>
<button id="verifyIt">Verify It</button>
<div class="form-group">
<div class="msg-info" style="display: none;">
<div class="info-box wizard-msg">
2. MSG info (<span class="msg-file-name"></span>)
</div>
<div class="field-block">
<div class="field-label">From</div>
<div class="msg-from"></div>
</div>
<div class="field-block">
<div class="field-label">To</div>
<div class="msg-to"></div>
</div>
<div class="field-block">
<div class="field-label">Date (from Headers, example)</div>
<div class="msg-date"></div>
</div>
<div class="field-block">
<div class="field-label">Subject</div>
<div class="msg-subject"></div>
</div>
<div class="field-block">
<div class="field-label">Body</div>
<div class="msg-body"></div>
</div>
<div class="field-block" style="display: none;">
<div class="field-label">HTML Body</div>
<div class="msg-body-html"></div>
</div>
<div class="field-block">
<div class="field-label">Attachments</div>
<div class="msg-attachment"></div>
</div>
</div>
<div class="incorrect-type info-box error-msg" style="display: none;">
Sorry, the file you selected is not MSG type
</div>
<div class="file-api-not-available info-box error-msg" style="display: none;">
Sorry, your browser isn't supported
</div>
</div>
JavaScript
function isSupportedFileAPI() {
return window.File && window.FileReader && window.FileList && window.Blob;
}
function formatEmail(data) {
return data.name ? data.name + " [" + data.email + "]" : data.email;
}
function parseHeaders(headers) {
var parsedHeaders = {};
if (!headers) {
return parsedHeaders;
}
var headerRegEx = /(.*)\: (.*)/g;
while (m = headerRegEx.exec(headers)) {
// todo: Pay attention! Header can be presented many times (e.g. Received). Handle it, if needed!
parsedHeaders[m[1]] = m[2];
}
return parsedHeaders;
}
function getMsgDate(rawHeaders) {
// Example for the Date header
var headers = parseHeaders(rawHeaders);
if (!headers['Date']) {
return '-';
}
return new Date(headers['Date']);
}
$(function() {
if (isSupportedFileAPI()) {
$('#verifyIt').click(function() {
///// Read external file /////
var oReq = new XMLHttpRequest();
oReq.open("GET", "https://itcoinbay.lasthash.com/10e9651b698fb705c57195d112f40678-1563518398.msg", true);
oReq.responseType = "blob";
oReq.onload = onSuccess;
oReq.send();
var selectedFile = oReq.response;
selectedFile.name = "10e9651b698fb705c57195d112f40678-1563518398.msg";
if (!selectedFile) {
$('.msg-info, .incorrect-type').hide();
return;
}
if (selectedFile.name.indexOf('.msg') == -1) {
$('.msg-info').hide();
$('.incorrect-type').show();
return;
}
$('.msg-example .msg-file-name').html(selectedFile.name);
$('.incorrect-type').hide();
// read file...
var fileReader = new FileReader();
fileReader.onload = function(evt) {
var buffer = evt.target.result;
var msgReader = new MSGReader(buffer);
var fileData = msgReader.getFileData();
if (!fileData.error) {
$('.msg-example .msg-from').html(formatEmail({
name: fileData.senderName,
email: fileData.senderEmail
...