Process Returning Data
Technical Document
When data is coming back into the web page from an operation the returning data must be processed in a common
function. The values coming back help allow you to determine what to do. This example
shows this in action and how to handle multiple types (return data from 'run', 'dir' and 'getdriveinfo') in the same page. For more sophisticated examples view the HTML source
for the demonstration section for file listing,
drive enumeration or error handling.
<html> <script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> <script language="JavaScript" type="text/javascript"> var $jQuery = jQuery.noConflict(); </script> <script type="text/javascript"> jQuery(document).ready(function() { jQuery("#file_link").on("click", function (event) { event.preventDefault(); // Recommended to stop the link from doing anything else document.dispatchEvent(new CustomEvent('funcIntraLaunch', { 'detail': { task: 'run', program: 'notpad.exe', options: 'file_link', showerrors: 'false' } })); }); jQuery("#list_files_link").on("click", function (event) { event.preventDefault(); // Recommended to stop the link from doing anything else document.dispatchEvent(new CustomEvent('funcIntraLaunch', { 'detail': { task: 'dir', program: 'some_table', workingfolder: '%MY_DOCUMENTS%', switches: '*.*' } })); }); jQuery("#get_drive_info").on("click", function (event) { event.preventDefault(); // Recommended to stop the link from doing anything else document.dispatchEvent(new CustomEvent('funcIntraLaunch', { 'detail': { task: 'getdriveinfo', workingfolder: 'C:' } })); }); // Handle all IntraLaunch responses for all requests jQuery.extend ({ funcIntraLaunchLastOpResult: function (responseIntraLaunchLastOpType, responseIntraLaunchDOMElement, responseIntraLaunchDataSet) { // Handle a response from running a program from the specific element with HTML ID 'file_link' if (responseIntraLaunchLastOpType == "run" && responseIntraLaunchDOMElement == "file_link") { if (responseIntraLaunchDataSet == "0") { alert('Failed to open the program or document.'); } else if (responseIntraLaunchDataSet == "1") { alert('You have opened notepad.'); } } // Handle a response from a request to list some files for 'some_table' if (responseIntraLaunchLastOpType == "dir" && responseIntraLaunchDOMElement == "some_table") { var parsedResponse = jQuery.parseJSON(responseIntraLaunchDataSet); jQuery.each(parsedResponse, function (sKey, sFileObjectValue) { // Show files we got and maybe update #some_table with them alert('File name: ' + sFileObjectValue['file_name']); }); } if (responseIntraLaunchLastOpType == "getdriveinfo") { var parsedDriveInfo = jQuery.parseJSON(responseIntraLaunchDataSet); jQuery.each(parsedDriveInfo, function (sKey, sDriveDetails) { if (sDriveDetails['ready'] == "0") { // Drive not ready and have nothing alert('Drive ' + sDriveDetails['drive_name'] + ' not ready...'); } else { // Drive ready and we should have the details alert('Drive ' + sDriveDetails['drive_name'] + ' (' + sDriveDetails['drive_type'] + ' drive) with volume \'' + sDriveDetails['volume_label'] + '\' found'); } }); } } }); }); </script> <body> <a href="#" id="file_link">File open result</a> <a href="#" id="list_files_link">Get a list of files</a> <a href="#" id="get_drive_info">Get drive data</a> <table id="some_table"> </table> </body> </html>