define(function (require, exports, module) { var encode = require("./encode.js"); var ajax = require("../platform/webRequest.js"); var dk; Object.defineProperty(exports, "dynamickey", { get: function () { return dk; }, set: function (value) { dk = value; } }); exports.loadDynamicPage = function (url, refer) { var def = new $.Deferred(); ajax.sendGet(url, refer, null, "text").done(function () { exports.checkDynamicJs(arguments[0], refer) .done(function () { def.resolve(arguments[0]); }).fail(function () { def.resolve(null); }); }).fail(function () { def.resolve(null); }); return def.promise(); }; exports.checkDynamicJs = function (html, refer) { /// /// 获得对应的dynamicjs /// /// /// var def = new $.Deferred(); if (!html) def.resolve(null); else { var key = /['"].*?dynamicJs\/(.+?)['"]/.exec(html) && RegExp.$1; if (!key) def.resolve(null); else { var url = "dynamicJs/" + key; ajax.sendGet(url, refer, null, "text") .done(function (text) { var checkReg = /['"].*?dynamicJs\/(.+?)['"]/g; var pingurl = checkReg.exec(text) && RegExp.$1; var code = /key\s*=\s*'(.*?)'/.exec(text) && RegExp.$1; if (!code || !pingurl) { def.resolve(null); } else { //是否有自动回发? if (checkReg.exec(text)) { //自动回发 ajax.sendPost("dynamicJs/" + pingurl, url, null, "text"); } var data = { pingurl: pingurl, code: code, value: encode.encode(code, "1111"), validate: encode.createEncodeStr(code, "1111"), baseFormData: {} }; dk = data; data.baseFormData[data.code] = data.value; def.resolve(data); } }).fail(function () { def.resolve(null); }); } } return def.promise(); }; });