73 lines
1.8 KiB
JavaScript
73 lines
1.8 KiB
JavaScript
define(function (require, exports, module) {
|
|
var encode = require("./encode.js");
|
|
var ajax = require("../platform/webRequest.js");
|
|
|
|
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) {
|
|
/// <summary>
|
|
/// 获得对应的dynamicjs
|
|
/// </summary>
|
|
/// <param name="html"></param>
|
|
/// <returns type=""></returns>
|
|
|
|
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: {}
|
|
};
|
|
data.baseFormData[data.code] = data.value;
|
|
def.resolve(data);
|
|
}
|
|
}).fail(function () {
|
|
def.resolve(null);
|
|
});
|
|
}
|
|
}
|
|
|
|
return def.promise();
|
|
};
|
|
});
|