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();
};
});