Modified 'shutdown' related code; adjusted initial definition of the 'keyman' variable to help the 'delete' succeed.

This commit is contained in:
Joshua A. Horton 2018-02-13 08:31:35 +07:00
parent db04649d2c
commit dc64f384a4
5 changed files with 7 additions and 11 deletions

View file

@ -122,7 +122,7 @@ if(!window['keyman']['initialized']) {
// Complete page initialization only after the page is fully loaded, including any embedded fonts
// This avoids the need to use a timer to test for the fonts
util.attachDOMEvent(window, 'load', keyman.domManager._WindowLoad,false);
util.attachDOMEvent(window, 'load', keymanweb.domManager._WindowLoad,false);
util.attachDOMEvent(window, 'unload', keymanweb.domManager._WindowUnload,false); // added fourth argument (default value)
// *** I3319 Supplementary Plane modifications - end new code

View file

@ -21,7 +21,6 @@
*/
// kmwbase.ts
goog.exportProperty(keyman, "build", keyman); // Only works on individual instances.
goog.exportSymbol("KeymanBase.prototype.addEventListener", KeymanBase.prototype.addEventListener);
goog.exportSymbol("KeymanBase.prototype.isFontAvailable", KeymanBase.prototype.isFontAvailable);

View file

@ -20,11 +20,6 @@
Copyright 2017 SIL International
***/
declare var keyman: KeymanBase;
declare var KeymanWeb: KeyboardInterface;
var keyman: KeymanBase = window['keyman'] || {};
window['keyman'] = keyman; // To preserve the name _here_ in case of minification.
class KeymanBase {
_TitleElement = null; // I1972 - KeymanWeb Titlebar should not be a link
_IE = 0; // browser version identification
@ -560,7 +555,7 @@ KeymanBase.__BUILD__ = 299;
*/
// If a copy of the script is already loaded, detect this and prevent re-initialization / data reset.
if(!window['keyman']['loaded']) {
if(!window['keyman'] || !window['keyman']['loaded']) {
(function() {
/* The base object call may need to be moved into a separate, later file eventually.

View file

@ -1126,7 +1126,7 @@ class KeyboardManager {
Lscript = this.keymanweb.util._CreateElement('script');
URL = URL + ((arguments.length > 1) && byLanguage ? 'languages' : 'keyboards')
+'?jsonp=keyman.register&version='+keyman['version']+'.'+KeymanBase['__BUILD__'];
+'?jsonp=keyman.register&version='+this.keymanweb['version']+'.'+KeymanBase['__BUILD__'];
var kbdManager = this;

View file

@ -65,8 +65,10 @@ var setupScript = function(src, done, timeout, uiInitCheck) {
var teardownKMW = function() {
keyman['shutdown']();
delete window.keyman;
window["keyman"] = undefined;
var success = delete window["keyman"];
if(!success) {
window["keyman"] = undefined;
}
}
// Make sure the main script loads...