eElement('iframe');
				iframe.style.display = 'none';
				document.body.appendChild(iframe);
			}
			return iframe;
		}
	})();

	// 单例生成器
	var getSingle = function (fn) {
		var result;
		// 闭包
		return function () {
			// 逻辑中断，利用 apply 改变 fn 下的 this 指向
			return result || (result = fn.apply(this, arguments));
		}
	};
	// 处理登录窗口的业务逻辑
	var createLoginLayer = function () {
		var div = document.createElement('div');
		div.innerHT