{"id":3503,"date":"2019-03-25T17:44:36","date_gmt":"2019-03-25T20:44:36","guid":{"rendered":"http:\/\/xexeu.elipse.com.br\/pt\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/"},"modified":"2022-03-29T10:09:15","modified_gmt":"2022-03-29T13:09:15","slug":"connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript","status":"publish","type":"post","link":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/","title":{"rendered":"Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript."},"content":{"rendered":"<div align=\"justify\">\n<p><u><strong>GENERAL NOTES:<br \/>\n<\/strong><\/u><\/p>\n<ol>\n<li>This article applies to <strong>Elipse E3<\/strong>, versions <strong>4.5<\/strong> or higher.<\/li>\n<li>For further details on E3DataAccess library, we recommend reading the following articles: <a href=\"http:\/\/kb.elipse.com.br\/pt-br\/questions\/3258\/Connecting+a+VBA+application+to+an+E3+Server+using+the+E3DataAccess+library.\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Connecting a VBA application to an E3Server using the E3DataAccess library<\/strong><\/a> and <a href=\"http:\/\/kb.elipse.com.br\/pt-br\/questions\/5192\/BUG-0013588%3A+Incompatible+types+when+calling+E3DataAccess%27+GetValue%7B47%7DSetValue+methods.\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>BUG-0013588: Incompatible types when calling E3DataAccess&#8217; GetValue\/SetValue methods<\/strong><\/a><strong>.<\/strong><\/li>\n<\/ol>\n<p><u><strong>Introduction<\/strong><\/u><\/p>\n<p>This article uses JavaScript and VBScript languages to demonstrate how to use <b>E3DataAccess <\/b>library. In the examples, the scripts were used on an HTML page, and the client is Internet Explorer version 11.<\/p>\n<p>Languages such as JavaScript offer no support to passing parameters as reference, and that is why JavaScript was used alongside VBScript to use a few methods of E3DataAccess library.<\/p>\n<p>Internet Explorer version 11 or higher offer unlimited support to VBScript. For further information, access <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ie\/dn384057%28v=vs.85%29.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft&#8217;s documentation<\/a>. To allow VBScript to be used, the following excerpt was added to the page:<\/p>\n<div align=\"left\"><\/div>\n<p>Since JavaScript does not support passing parameters as reference, the <i>E3Item <\/i>class was created in VBScript to use <i>ReadValue <\/i>and <i>WriteValue <\/i>methods. This class has two functions: <i>Read(ItemName)<\/i>, which receives as parameter the server tag&#8217;s name and then uses <i>ReadValue <\/i>function\u00a0 to read this tag; and <i>Write(ItemName, vTimestamp, vQuality, vValue)<\/i>, which receives as parameter the name of the server tag where the other parameters <i>Timestamp<\/i>, <i>Quality <\/i>and <i>Value <\/i>will be saved, and writes this data in the server via <i>WriteValue <\/i>function.<\/p>\n<pre><span style=\"font-family: Courier New\">Class E3Item<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 Public Value <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 Public Timestamp<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 Public Quality<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 Public Function Read(ItemName)<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Read = E3DataAccess.ReadValue(ItemName, Timestamp, Quality, Value) <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 End Function<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 Public Function Write(ItemName, vTimestamp, vQuality, vValue)<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Write = E3DataAccess.WriteValue(ItemName, vTimestamp, vQuality, vValue) <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If Write Then<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Timestamp = vTimestamp<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Quality = vQuality <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Value = vValue <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 End Function <\/span>\r\n<span style=\"font-family: Courier New\">End Class<\/span><\/pre>\n<p><u><b>E3DataAccess Library Methods<\/b><\/u><\/p>\n<p><b>1. <i>ReadValue <\/i>method<\/b><\/p>\n<p>To read data, we&#8217;ve created <i>Read()<\/i> function in JavaScript:<\/p>\n<pre>function Read()\r\n{\r\n   E3DataAccess.Server = document.E3Config.editServer.value;\r\n   var msg;\r\n   \/\/Cria instancia var da = createNewE3Item();\r\n   if (da.Read(document.E3Config.editTag.value))\r\n   {\r\n      document.E3Config.editValue.value = da.Value;\r\n      msg = document.E3Config.editTag.value + \": \" + da.Timestamp + \", \" + da.Quality + \", \" + da.Value;\r\n   }\r\n   else\r\n   {\r\n      msg = \"Error in reading value from server: \" + E3DataAccess.Server + \" for item: \" + document.E3Config.editTag.value; } WriteText(msg);\r\n   }\r\n   WriteText(msg);\r\n}<\/pre>\n<p>This function creates an instance of <i>E3Item <\/i>class, sends the name of the tag set up by the user in the HTML file to the class&#8217; <i>Read <\/i>function, and then connects to E3Server, reading <i>Value<\/i>, <i>TimeStamp <\/i>and <i>Quality<\/i> parameters via E3DataAccess&#8217; ReadValue method. Having done that, the values are ready to be used in JavaScript and become available to the user.<\/p>\n<p><b>2. <i>WriteValue <\/i>method<\/b><\/p>\n<p>Similarly to the read procedure, to write data you will use <i>Write <\/i>function, created in JavaScript:<\/p>\n<pre><span style=\"font-family: Courier New\">function Write() <\/span>\r\n<span style=\"font-family: Courier New\">{ <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 E3DataAccess.Server = document.E3Config.editServer.value;<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 var msg; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 \/\/Cria instancia<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 var da = createNewE3Item();<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 \/\/Formata data para salvar<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 var date = new Date(); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 var month = date.getMonth()+ 1; var dateString = month + \"\/\" + date.getDate() + \"\/\" <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 + date.getFullYear() + \" \" + date.getHours() + \":\" + date.getMinutes() + \":\" + date.getSeconds(); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 if (da.Write(document.E3Config.editTag.value, dateString, 192,document.E3Config.editValue.value))<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 {<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 msg = \"Writing to server: '\" + E3DataAccess.Server + \"' for item: '\" + document.E3Config.editTag.value + \"' succeeded\"; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 }<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 else<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 { <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 msg = \"Error in writing value to server: '\" + E3DataAccess.Server + \"' for item: '\" + document.E3Config.editTag.value + \"' = \" <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 + document.E3Config.editValue.value; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 }<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 WriteText(msg); <\/span>\r\n<span style=\"font-family: Courier New\">}<\/span><\/pre>\n<p>This function also creates an instance of <i>E3Item <\/i>class, passes the informed parameters by the user to to the class&#8217; <i>Write <\/i>function, and uses E3DataAccess&#8217; <i>WriteValue <\/i>method to write in the tag, thus passing all parameters to E3Server.<br \/>\n<b><br \/>\n3. <i>ExecuteQuery <\/i>method<\/b><\/p>\n<p>You can also create queries via E3DataAccess&#8217; <i>ExecuteQuery <\/i>method. To do so, we&#8217;ve created <i>GetQueryValues()<\/i> function in JavaScript:<\/p>\n<pre><span style=\"font-family: Courier New\">function GetQueryValues() <\/span>\r\n<span style=\"font-family: Courier New\">{ <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 E3DataAccess.Server = document.E3Config.editServer.value; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 var da = createNewE3Query(); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 if (document.E3Config.editQuery.value != \"\")<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0 { <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 da.ProcessQuery(document.E3Config.editQuery.value, \"dvTableRended\"); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 document.getElementById(\"dvTableRended\").innerHTML = da.Content; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 } <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 else<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 {<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 document.getElementById(\"dvTableRended\").innerHTML = Date() + \" - Error empty query.\"; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 }<\/span>\r\n<span style=\"font-family: Courier New\">}<\/span><\/pre>\n<p>This function creates an instance of E3Query class, created in VBScript according to the example above, using ProcessQuery function. Through this other function, it will use the library&#8217;s ExecuteQuery method to query in E3Server.<\/p>\n<pre><span style=\"font-family: Courier New\">Class E3Query <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 Public Content <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 Public Function ProcessQuery(queryName, tablePlacement) <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If queryName <> \"\" Then <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Dim vNames, vValues, arrResult <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If E3DataAccess.ExecuteQuery(queryName, vNames, vValues, arrResult) Then <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Call RenderTable(arrResult, tablePlacement) <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Else <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Document.getElementById(tablePlacement).innerHTML = Now & \" - Error in the query result.\"<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Else <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Document.getElementById(tablePlacement).innerHTML = Now & \" - Error empty query.\" <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If <\/span>\r\n<span style=\"font-family: Courier New\">End Function<\/span><\/pre>\n<p><b>4. <i>RegisterCallBack <\/i>and <i>UnregisterCallBack <\/i>methods<\/b><\/p>\n<p>To use these methods, we&#8217;ve created <i>RegisterCallback()<\/i> function in JavaScript. Unlike the functions previously mentioned here, this function doesn&#8217;t need to call any methods developed in VBScript, using the library&#8217;s <i>RegisterCallBack<\/i> method directly via JavaScript.<br \/>\n<span style=\"font-family: Courier New\"><br \/>\n<\/span><\/p>\n<pre><span style=\"font-family: Courier New\">\u00a0function RegisterCallback() <\/span>\r\n<span style=\"font-family: Courier New\">{ <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 E3DataAccess.Server = document.E3Config.editServer.value;<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 if (document.E3Config.editTag.value != \"\") <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 { <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var result; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 result = E3DataAccess.RegisterCallback(document.E3Config.editTag.value); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WriteText(\"Register tag: \" + document.E3Config.editTag.value + \" result: \" + result); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 } <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 else<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 { <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 window.alert(\"Error! There is no tag item for register. Type one before proceed.\"); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 }<\/span><\/pre>\n<p>And like <i>RegisterCallback <\/i>method, we&#8217;ve also created <i>UnregisterCallback <\/i>function in JavaScript, as seen below.<\/p>\n<pre><span style=\"font-family: Courier New\">\u00a0function UnregisterCallback() <\/span>\r\n<span style=\"font-family: Courier New\">{ <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 if (document.E3Config.editTag.value != \"\")\u00a0\u00a0\u00a0 if (document.E3Config.editTag.value != \"\") <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0 { <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var result; <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 result = E3DataAccess.UnregisterCallback(document.E3Config.editTag.value); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WriteText(\"Unregister tag: \" + document.E3Config.editTag.value + \" result: \" + result); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 } <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 else<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 { <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 window.alert(\"Error! There is no tag item for unregister. Type one before proceed.\"); <\/span>\r\n<span style=\"font-family: Courier New\">\u00a0\u00a0\u00a0\u00a0 }<\/span>\r\n<span style=\"font-family: Courier New\">\u00a0}<\/span><\/pre>\n<p><u><b>Testing the Application<\/b><\/u><\/p>\n<p>To test the application, you must first execute the domain with the E3 application, open the HTML page in Internet Explorer (as an Administrator), and grant access to ActiveX.<\/p>\n<p>Having done that, go to the open HTML page and just inform the path of the E3Server tag you wish to read\/write, as seen below.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID5190EN\/1.png\" alt=\"\" width=\"500\" height=\"330\" align=\"baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small\"><b>Figure 1<\/b>. Reading the server tag<\/span><\/div>\n<p>To perform a query, just insert (in <b>Session Query<\/b>) its path in the server, according to the figure below.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID5190EN\/2.png\" alt=\"\" width=\"500\" height=\"516\" align=\"baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small\"><b>Figure 2<\/b>. Querying the server<\/span><\/div>\n<p>Finally, to use <i>RegisterCallBack <\/i>and <i>UnregisterCallBack <\/i>methods, just inser the tag&#8217;s path in the server and click <b>Register <\/b>or <b>Unregister<\/b>; therefore, whenever there is an event with this tag, it will be displayed on the screen, as seen below.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID5190EN\/3.png\" alt=\"\" width=\"500\" height=\"329\" align=\"baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small\"><b>Figure 3<\/b>. RegisterCallBack in server Tag2. (10)<\/span><\/div>\n<p>For further details in the implementation, the E3 demo application and the HTML page used are attached to this article.<\/p>\n<h3>Attachments:<\/h3>\n<p><a href=\"\/wp-content\/uploads\/2019\/03\/AppE3_HTML-1.zip\">AppE3_HTML.zip<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>GENERAL NOTES: This article applies to Elipse E3, versions 4.5 or higher. For further details on E3DataAccess library, we recommend reading the following articles: Connecting a VBA application to an&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0},"categories":[826],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript. - Elipse Knowledgebase<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.\" \/>\n<meta property=\"og:description\" content=\"GENERAL NOTES: This article applies to Elipse E3, versions 4.5 or higher. For further details on E3DataAccess library, we recommend reading the following articles: Connecting a VBA application to an&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/\" \/>\n<meta property=\"og:site_name\" content=\"Elipse Knowledgebase\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/elipsesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-25T20:44:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-29T13:09:15+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID5190EN\/1.png\" \/>\n<meta name=\"author\" content=\"Elipse Software\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elipse Software\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/\"},\"author\":{\"name\":\"Elipse Software\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87\"},\"headline\":\"Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.\",\"datePublished\":\"2019-03-25T20:44:36+00:00\",\"dateModified\":\"2022-03-29T13:09:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/\"},\"wordCount\":1725,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"articleSection\":[\"E3DataAccess\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/\",\"url\":\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/\",\"name\":\"[:pt]Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.[:en]Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.[:] - Elipse Knowledgebase\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#website\"},\"datePublished\":\"2019-03-25T20:44:36+00:00\",\"dateModified\":\"2022-03-29T13:09:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/kb.elipse.com.br\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kb.elipse.com.br\/#website\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"name\":\"Elipse Knowledgebase\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kb.elipse.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\",\"name\":\"Elipse Software\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/elipsesoftware\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"contentUrl\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"width\":161,\"height\":58,\"caption\":\"Elipse Software\"},\"image\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87\",\"name\":\"Elipse Software\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g\",\"caption\":\"Elipse Software\"},\"url\":\"https:\/\/kb.elipse.com.br\/en\/author\/webmasterelipse-com-br\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript. - Elipse Knowledgebase","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/","og_locale":"en_US","og_type":"article","og_title":"[:pt]Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.[:en]Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.[:] - Elipse Knowledgebase","og_description":"GENERAL NOTES: This article applies to Elipse E3, versions 4.5 or higher. For further details on E3DataAccess library, we recommend reading the following articles: Connecting a VBA application to an&hellip;","og_url":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/","og_site_name":"Elipse Knowledgebase","article_publisher":"http:\/\/www.facebook.com\/elipsesoftware","article_published_time":"2019-03-25T20:44:36+00:00","article_modified_time":"2022-03-29T13:09:15+00:00","og_image":[{"url":"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID5190EN\/1.png"}],"author":"Elipse Software","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Elipse Software","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#article","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/"},"author":{"name":"Elipse Software","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87"},"headline":"Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.","datePublished":"2019-03-25T20:44:36+00:00","dateModified":"2022-03-29T13:09:15+00:00","mainEntityOfPage":{"@id":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/"},"wordCount":1725,"commentCount":0,"publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"articleSection":["E3DataAccess"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/","url":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/","name":"[:pt]Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.[:en]Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript.[:] - Elipse Knowledgebase","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/#website"},"datePublished":"2019-03-25T20:44:36+00:00","dateModified":"2022-03-29T13:09:15+00:00","breadcrumb":{"@id":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kb.elipse.com.br\/en\/connecting-an-html-page-to-an-e3server-with-communication-library-e3dataaccess-using-javascript-and-vbscript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/kb.elipse.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Connecting an HTML page to an E3Server with communication library E3DataAccess using JavaScript and VBScript."}]},{"@type":"WebSite","@id":"https:\/\/kb.elipse.com.br\/#website","url":"https:\/\/kb.elipse.com.br\/","name":"Elipse Knowledgebase","description":"","publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kb.elipse.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kb.elipse.com.br\/#organization","name":"Elipse Software","url":"https:\/\/kb.elipse.com.br\/","sameAs":["http:\/\/www.facebook.com\/elipsesoftware"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","contentUrl":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","width":161,"height":58,"caption":"Elipse Software"},"image":{"@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87","name":"Elipse Software","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g","caption":"Elipse Software"},"url":"https:\/\/kb.elipse.com.br\/en\/author\/webmasterelipse-com-br\/"}]}},"_links":{"self":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/3503"}],"collection":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/comments?post=3503"}],"version-history":[{"count":8,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/3503\/revisions"}],"predecessor-version":[{"id":12839,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/3503\/revisions\/12839"}],"wp:attachment":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/media?parent=3503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/categories?post=3503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/tags?post=3503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}