on master help sign in
Better window workaround. Thanks @raynos
e194592Max New
runtime/Utils.js+8−8
@@ -34,18 +34,18 @@ ElmRuntime.filterDeadInputs = function(inputs) {
34
34
35// define the draw function
35// define the draw function
36var vendors = ['ms', 'moz', 'webkit', 'o'];
36var vendors = ['ms', 'moz', 'webkit', 'o'];
37−var window = window || {};
37+var win = typeof window !== 'undefined' ? window : {};
38−for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
38+for (var i = 0; i < vendors.length && !win.requestAnimationFrame; ++i) {
39− window.requestAnimationFrame = window[vendors[i]+'RequestAnimationFrame'];
39+ win.requestAnimationFrame = win[vendors[i]+'RequestAnimationFrame'];
40− window.cancelAnimationFrame = window[vendors[i]+'CancelAnimationFrame'] ||
40+ win.cancelAnimationFrame = win[vendors[i]+'CancelAnimationFrame'] ||
41− window[vendors[i]+'CancelRequestAnimationFrame'];
41+ win[vendors[i]+'CancelRequestAnimationFrame'];
42}
42}
43
43
44−if (window.requestAnimationFrame && window.cancelAnimationFrame) {
44+if (win.requestAnimationFrame && win.cancelAnimationFrame) {
45 var previous = 0;
45 var previous = 0;
46 ElmRuntime.draw = function(callback) {
46 ElmRuntime.draw = function(callback) {
47− window.cancelAnimationFrame(previous);
47+ win.cancelAnimationFrame(previous);
48− previous = window.requestAnimationFrame(callback);
48+ previous = win.requestAnimationFrame(callback);
49 };
49 };
50} else {
50} else {
51 ElmRuntime.draw = function(callback) { callback(); };
51 ElmRuntime.draw = function(callback) { callback(); };