Skip to content

Instantly share code, notes, and snippets.

@edlvj
Created April 2, 2020 18:45
Show Gist options
  • Save edlvj/373ed096db03260983684ffd3f1790ed to your computer and use it in GitHub Desktop.
Save edlvj/373ed096db03260983684ffd3f1790ed to your computer and use it in GitHub Desktop.
/* eversign embedded.js */
var eversignTest = {
open: function (params) {
params.events = Object.assign({}, params.events);
// create iFrame
var iFrame = document.createElement('iframe');
document.getElementById(params.containerID).appendChild(iFrame);
iFrame.src = params.url;
iFrame.id = params.id;
console.log(iFrame.contentWindow.document);
// iFrame.contentWindow.document.body.appendChild("<script>console.log('dsds'); <script>");
// configure postMessage
var eventMethod = window[(window.addEventListener ? "addEventListener" : "attachEvent")],
messageEvent = eventMethod === "attachEvent" ? "onmessage" : "message";
// listen to postMessage from child window
eventMethod(messageEvent, function (e) {
var eventType = (e[(e.message ? "message" : "data")]+'').split('_').pop(),
eventTypes = ['loaded', 'signed', 'declined', 'error'];
console.log(eventType);
if (eventType === 'loaded') {
iFrame.contentWindow.document;
console.log(iFrame);
}
if (eventType && eventTypes.includes(eventType) &&
params.events.hasOwnProperty(eventType) &&
typeof params.events[eventType] == 'function') {
params.events[eventType]();
}
}, false);
},
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment