{"version":3,"sources":["webpack:///xseed.js","webpack:///webpack/bootstrap ca3485e78a4fa7c7f1b9","webpack:///./src/config.js","webpack:///./src/helper.js","webpack:///./src/xseed.js","webpack:///./src/lcache.js","webpack:///./src/net.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","pre","helper","getUrlKey","url","index1","lastIndexOf","index2","substring","lcache","net","config","xseed","version","store","key","func","funcString","toString","ret","save","this","execCode","console","log","launch","scripts","document","getElementsByTagName","len","length","that","script","src","toLowerCase","indexOf","dataset","source","runUrl","run","content","load","loadRunScript","loadResource","setTimeout","codeStr","callback","createElement","defer","text","head","appendChild","window","addLocalStorage","localStorage","setItem","e","getLocalStorage","getItem","cb","type","newDom","setAttribute","all","onreadystatechange","readyState","onload"],"mappings":"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","file":"xseed.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\r\n\tpre:\"XSEED_\",\r\n\t// defaultExpiration:99999\t//天数\r\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar config = __webpack_require__(0)\r\n\r\nvar helper = {\r\n\tgetUrlKey:function(url){\r\n\t\tvar index1=url.lastIndexOf(\"\\/\")+1;\r\n\t\tvar index2=url.lastIndexOf(\".\"); \r\n\t\t\r\n\t\tvar tag = url.substring(index1,index2);\r\n\t\treturn tag\r\n\t}\r\n}\r\n\r\nmodule.exports = helper\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar helper = __webpack_require__(1)\r\nvar lcache = __webpack_require__(3)\r\nvar net = __webpack_require__(4)\r\nvar config = __webpack_require__(0)\r\n\r\nvar xseed = {\r\n\tversion:\"0.01\",\r\n\t/**\r\n\t * 这个函数是给待缓存的js文件调用的,由于跨域原因,不能用ajax获取js文件,只能让目标js文件调用方法来存储自己\r\n\t * 使用方法如下\r\n\t * xseed.cacheAndExecute(function(){\r\n\t * \t\txxxxxx目标文件代码\r\n\t * })\r\n\t * @param {[type]} func [description]\r\n\t * @return {[type]} [description]\r\n\t */\r\n\tstore:function(key,func){\r\n\t\tvar funcString = func.toString()\r\n\t\tvar ret = lcache.save(config.pre+key,funcString)\r\n\t\tthis.execCode(funcString)\r\n\t\tconsole.log(ret)\r\n\t},\r\n\tlaunch:function(){\r\n\t\t//找到自己的script标签\r\n\t\tvar scripts = document.getElementsByTagName(\"script\")\r\n\t\tvar len = scripts.length\r\n\t\tvar that = this\r\n\t\tfor(var i=0;i=0){\r\n\t\t\t\tvar url = script.dataset.source.toLowerCase()\r\n\t\t\t\tvar runUrl = script.dataset.run\r\n\t\t\t\tvar key = config.pre+helper.getUrlKey(url)\r\n\t\t\t\tvar content = lcache.load(key)\r\n\t\t\t\tif(content){\r\n\t\t\t\t\tthis.execCode(content,function(){\r\n\t\t\t\t\t\tconsole.log(\"inject cache script complete\")\r\n\t\t\t\t\t\tthat.loadRunScript(runUrl)\r\n\t\t\t\t\t})\t\r\n\t\t\t\t}else{\r\n\t\t\t\t\tnet.loadResource(url,function(){\r\n\t\t\t\t\t\tconsole.log(\"source loadcompleted: \"+url)\r\n\t\t\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\t\t\tthat.loadRunScript(runUrl)\r\n\t\t\t\t\t\t},10)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t//加载目标运行script\r\n\tloadRunScript:function(url){\r\n\t\tnet.loadResource(url)\r\n\t},\r\n\t// 执行代码片段\r\n\texecCode:function(codeStr, callback) {\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.defer = false;\r\n\t\t// Have to use .text, since we support IE8,\r\n\t\t// which won't allow appending to a script\r\n\t\tscript.text = '('+codeStr+')()';\r\n\t\tvar head = document.head || document.getElementsByTagName('head')[0];\r\n\t\thead.appendChild( script );\r\n\t\tsetTimeout(function(){\r\n\t\t\tcallback&&callback()\r\n\t\t},0)\r\n\t}\r\n}\r\nwindow.xseed = xseed\r\nxseed.launch()\r\n\r\n// lcache.saveResource(\"//gbfek.dfcfw.com/project/gubawap/bundle/zepto_react_all_xseed.js\")\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n// var net = require(\"./net\")\r\nvar config = __webpack_require__(0)\r\nvar helper = __webpack_require__(1)\r\n\r\nvar inCache = [];\r\n\r\nvar lcache = {\r\n\taddLocalStorage : function( key, content ) {\r\n\t\ttry {\r\n\t\t\tlocalStorage.setItem( key, content );\r\n\t\t\treturn true;\r\n\t\t} catch( e ) {\r\n\t\t\tconsole.log(e)\r\n\t\t\treturn false;\r\n\t\t\t// if ( e.name.toUpperCase().indexOf('QUOTA') >= 0 ) {\r\n\t\t\t// \tvar item;\r\n\t\t\t// \tvar tempScripts = [];\r\n\r\n\t\t\t// \tfor ( item in localStorage ) { //满了\r\n\t\t\t// \t\tif ( item.indexOf( storagePrefix ) === 0 ) {\r\n\t\t\t// \t\t\ttempScripts.push( JSON.parse( localStorage[ item ] ) );\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\r\n\t\t\t// \tif ( tempScripts.length ) {\r\n\t\t\t// \t\t// tempScripts.sort(function( a, b ) {\r\n\t\t\t// \t\t// \treturn a.stamp - b.stamp;\r\n\t\t\t// \t\t// });\r\n\r\n\t\t\t// \t\tbasket.remove( tempScripts[ 0 ].key );\r\n\r\n\t\t\t// \t\treturn addLocalStorage( key, storeObj );\r\n\r\n\t\t\t// \t} else {\r\n\t\t\t// \t\t// no files to remove. Larger than available quota\r\n\t\t\t// \t\treturn;\r\n\t\t\t// \t}\r\n\r\n\t\t\t// } else {\r\n\t\t\t// \t// some other error\r\n\t\t\t// \treturn;\r\n\t\t\t// }\r\n\t\t}\r\n\r\n\t},\r\n\tgetLocalStorage:function(key){\r\n\t\ttry{\r\n\t\t\tvar ret = localStorage.getItem( key );\r\n\t\t\treturn ret\r\n\t\t}catch(e){\r\n\t\t\tconsole.log(e)\r\n\t\t\treturn null\r\n\t\t}\r\n\t\t\r\n\t},\r\n\tsave:function(key,content){\r\n\t\t// var now = +new Date();\r\n\t\tvar ret=this.addLocalStorage(key,content)\r\n\t\treturn ret\r\n\r\n\t\t// var dom = net.loadResource(url,function(newDom){\r\n\t\t// \tconsole.log(newDom)\r\n\t\t// })\r\n\t\t// var tag = getUrlTag(url)\r\n\t\t// dom.setAttribute(\"id\",tag)\r\n\t\t// net.ajax({\r\n\t\t// \turl:url\r\n\t\t// })\r\n\t},\r\n\tload:function(key){\r\n\t\tvar ret = this.getLocalStorage( key )\r\n\t\treturn ret\r\n\t}\r\n}\r\n\r\nmodule.exports = lcache\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n//XMLHttpRequest简单封装\r\n// function ajax(json){\r\n// \tvar json = json||{};\r\n// \tvar type = json.type||\"GET\";\r\n// \ttype = type.toUpperCase();\r\n// \tvar url = json.url;\r\n// \tvar async = json.async||true;\r\n// \tvar data = json.data||\"\";\r\n// \tvar dataArr = [];\r\n// \tfor(var key in data){\r\n// \t\tdataArr.push(key+\"=\"+data[key]);\r\n// \t}\r\n// \tvar dataStr = \"\";\r\n// \tif(dataArr.length>0){\r\n// \t\tdataStr = dataArr.join(\"&\");\r\n// \t}\r\n// \tvar simplePromise = {\r\n// \t\tsuccessCall:null,\r\n// \t\tsuccess:function(cb){\r\n// \t\t\tsimplePromise.successCall=cb;\r\n// \t\t\treturn simplePromise;\r\n// \t\t},\r\n// \t\terrorCall:null,\r\n// \t\terror:function(cb){\r\n// \t\t\tsimplePromise.errorCall=cb;\r\n// \t\t\treturn simplePromise;\r\n// \t\t},\r\n// \t\trequest:null\r\n// \t};\r\n\r\n// \tvar request;\r\n// \ttry{\r\n// \t\trequest = new XMLHttpRequest();\r\n// \t}catch(e){//兼容todo\r\n\r\n// \t}\r\n\r\n// \tif(request){\r\n// \t\tif(type==\"GET\"){\r\n// \t\t\trequest.open(type,url+\"?\"+dataStr,async);\r\n// \t\t\trequest.withCredentials = true;\r\n// \t\t\trequest.send(null);\r\n// \t\t}else{\r\n// \t\t\trequest.open(type,url+\"?mt=\"+Math.random(),async);\r\n// \t\t\trequest.withCredentials = true;\r\n// \t\t\trequest.send(dataStr);\r\n// \t\t}\r\n\r\n// \t\trequest.onreadystatechange=function(){\r\n// \t\t\tif(request.readyState==4){\r\n// \t\t\t\tif(request.status==200){\r\n// \t\t\t\t\tvar res = request.responseText;\r\n// \t\t\t\t\tif(simplePromise.successCall){\r\n// \t\t\t\t\t\tsimplePromise.successCall(res);\r\n// \t\t\t\t\t}\r\n// \t\t\t\t}else{\r\n// \t\t\t\t\tif(simplePromise.errorCall){\r\n// \t\t\t\t\t\tsimplePromise.errorCall(request)\r\n// \t\t\t\t\t}\r\n// \t\t\t\t}\r\n\r\n// \t\t\t}\r\n// \t\t}\r\n// \t}\r\n// \tsimplePromise.request=request;\r\n// \treturn simplePromise;\r\n// }\r\n\r\nfunction loadResource(url,cb){\r\n\tvar index1=url.lastIndexOf(\".\")+1; \r\n\tvar index2=url.length;\r\n\tvar type = url.substring(index1,index2);\r\n\tvar newDom = null;\r\n\tif(type==\"js\"){\r\n\t\tnewDom = document.createElement(\"script\")\r\n\t\tnewDom.setAttribute(\"type\",\"text/javascript\")\r\n\t\tnewDom.setAttribute(\"src\", url)\r\n\t\tdocument.getElementsByTagName(\"body\")[0].appendChild(newDom);\r\n if (document.all) { //IE\r\n newDom.onreadystatechange = function() {\r\n if (newDom.readyState == 'loaded' || newDom.readyState == 'complete') {\r\n cb&&cb(newDom)\r\n }\r\n }\r\n } else {\r\n newDom.onload = function() {\r\n cb&&cb(newDom)\r\n }\r\n }\r\n\r\n\t}else if(type==\"css\"){\r\n\t\tnewDom = document.createElement(\"link\")\r\n\t\tnewDom.setAttribute(\"rel\",\"stylesheet\")\r\n\t\tnewDom.setAttribute(\"type\",\"text/css\")\r\n\t\tnewDom.setAttribute(\"href\",url)\r\n\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(newDom)\r\n\t\tcb&&cb()\r\n\t}\r\n\treturn newDom\r\n}\r\n\r\nvar net = {\r\n\t// ajax:ajax,\r\n\tloadResource:loadResource\r\n}\r\n\r\nmodule.exports = net;\r\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// xseed.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ca3485e78a4fa7c7f1b9","module.exports = {\r\n\tpre:\"XSEED_\",\r\n\t// defaultExpiration:99999\t//天数\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/config.js\n// module id = 0\n// module chunks = 0","'use strict';\r\nvar config = require(\"./config\")\r\n\r\nvar helper = {\r\n\tgetUrlKey:function(url){\r\n\t\tvar index1=url.lastIndexOf(\"\\/\")+1;\r\n\t\tvar index2=url.lastIndexOf(\".\"); \r\n\t\t\r\n\t\tvar tag = url.substring(index1,index2);\r\n\t\treturn tag\r\n\t}\r\n}\r\n\r\nmodule.exports = helper\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper.js\n// module id = 1\n// module chunks = 0","'use strict';\r\n\r\nvar helper = require(\"./helper\")\r\nvar lcache = require(\"./lcache\")\r\nvar net = require(\"./net\")\r\nvar config = require(\"./config\")\r\n\r\nvar xseed = {\r\n\tversion:\"0.01\",\r\n\t/**\r\n\t * 这个函数是给待缓存的js文件调用的,由于跨域原因,不能用ajax获取js文件,只能让目标js文件调用方法来存储自己\r\n\t * 使用方法如下\r\n\t * xseed.cacheAndExecute(function(){\r\n\t * \t\txxxxxx目标文件代码\r\n\t * })\r\n\t * @param {[type]} func [description]\r\n\t * @return {[type]} [description]\r\n\t */\r\n\tstore:function(key,func){\r\n\t\tvar funcString = func.toString()\r\n\t\tvar ret = lcache.save(config.pre+key,funcString)\r\n\t\tthis.execCode(funcString)\r\n\t\tconsole.log(ret)\r\n\t},\r\n\tlaunch:function(){\r\n\t\t//找到自己的script标签\r\n\t\tvar scripts = document.getElementsByTagName(\"script\")\r\n\t\tvar len = scripts.length\r\n\t\tvar that = this\r\n\t\tfor(var i=0;i=0){\r\n\t\t\t\tvar url = script.dataset.source.toLowerCase()\r\n\t\t\t\tvar runUrl = script.dataset.run\r\n\t\t\t\tvar key = config.pre+helper.getUrlKey(url)\r\n\t\t\t\tvar content = lcache.load(key)\r\n\t\t\t\tif(content){\r\n\t\t\t\t\tthis.execCode(content,function(){\r\n\t\t\t\t\t\tconsole.log(\"inject cache script complete\")\r\n\t\t\t\t\t\tthat.loadRunScript(runUrl)\r\n\t\t\t\t\t})\t\r\n\t\t\t\t}else{\r\n\t\t\t\t\tnet.loadResource(url,function(){\r\n\t\t\t\t\t\tconsole.log(\"source loadcompleted: \"+url)\r\n\t\t\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\t\t\tthat.loadRunScript(runUrl)\r\n\t\t\t\t\t\t},10)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t//加载目标运行script\r\n\tloadRunScript:function(url){\r\n\t\tnet.loadResource(url)\r\n\t},\r\n\t// 执行代码片段\r\n\texecCode:function(codeStr, callback) {\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.defer = false;\r\n\t\t// Have to use .text, since we support IE8,\r\n\t\t// which won't allow appending to a script\r\n\t\tscript.text = '('+codeStr+')()';\r\n\t\tvar head = document.head || document.getElementsByTagName('head')[0];\r\n\t\thead.appendChild( script );\r\n\t\tsetTimeout(function(){\r\n\t\t\tcallback&&callback()\r\n\t\t},0)\r\n\t}\r\n}\r\nwindow.xseed = xseed\r\nxseed.launch()\r\n\r\n// lcache.saveResource(\"//gbfek.dfcfw.com/project/gubawap/bundle/zepto_react_all_xseed.js\")\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/xseed.js\n// module id = 2\n// module chunks = 0","'use strict';\r\n// var net = require(\"./net\")\r\nvar config = require(\"./config\")\r\nvar helper = require(\"./helper\")\r\n\r\nvar inCache = [];\r\n\r\nvar lcache = {\r\n\taddLocalStorage : function( key, content ) {\r\n\t\ttry {\r\n\t\t\tlocalStorage.setItem( key, content );\r\n\t\t\treturn true;\r\n\t\t} catch( e ) {\r\n\t\t\tconsole.log(e)\r\n\t\t\treturn false;\r\n\t\t\t// if ( e.name.toUpperCase().indexOf('QUOTA') >= 0 ) {\r\n\t\t\t// \tvar item;\r\n\t\t\t// \tvar tempScripts = [];\r\n\r\n\t\t\t// \tfor ( item in localStorage ) { //满了\r\n\t\t\t// \t\tif ( item.indexOf( storagePrefix ) === 0 ) {\r\n\t\t\t// \t\t\ttempScripts.push( JSON.parse( localStorage[ item ] ) );\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\r\n\t\t\t// \tif ( tempScripts.length ) {\r\n\t\t\t// \t\t// tempScripts.sort(function( a, b ) {\r\n\t\t\t// \t\t// \treturn a.stamp - b.stamp;\r\n\t\t\t// \t\t// });\r\n\r\n\t\t\t// \t\tbasket.remove( tempScripts[ 0 ].key );\r\n\r\n\t\t\t// \t\treturn addLocalStorage( key, storeObj );\r\n\r\n\t\t\t// \t} else {\r\n\t\t\t// \t\t// no files to remove. Larger than available quota\r\n\t\t\t// \t\treturn;\r\n\t\t\t// \t}\r\n\r\n\t\t\t// } else {\r\n\t\t\t// \t// some other error\r\n\t\t\t// \treturn;\r\n\t\t\t// }\r\n\t\t}\r\n\r\n\t},\r\n\tgetLocalStorage:function(key){\r\n\t\ttry{\r\n\t\t\tvar ret = localStorage.getItem( key );\r\n\t\t\treturn ret\r\n\t\t}catch(e){\r\n\t\t\tconsole.log(e)\r\n\t\t\treturn null\r\n\t\t}\r\n\t\t\r\n\t},\r\n\tsave:function(key,content){\r\n\t\t// var now = +new Date();\r\n\t\tvar ret=this.addLocalStorage(key,content)\r\n\t\treturn ret\r\n\r\n\t\t// var dom = net.loadResource(url,function(newDom){\r\n\t\t// \tconsole.log(newDom)\r\n\t\t// })\r\n\t\t// var tag = getUrlTag(url)\r\n\t\t// dom.setAttribute(\"id\",tag)\r\n\t\t// net.ajax({\r\n\t\t// \turl:url\r\n\t\t// })\r\n\t},\r\n\tload:function(key){\r\n\t\tvar ret = this.getLocalStorage( key )\r\n\t\treturn ret\r\n\t}\r\n}\r\n\r\nmodule.exports = lcache\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/lcache.js\n// module id = 3\n// module chunks = 0","//XMLHttpRequest简单封装\r\n// function ajax(json){\r\n// \tvar json = json||{};\r\n// \tvar type = json.type||\"GET\";\r\n// \ttype = type.toUpperCase();\r\n// \tvar url = json.url;\r\n// \tvar async = json.async||true;\r\n// \tvar data = json.data||\"\";\r\n// \tvar dataArr = [];\r\n// \tfor(var key in data){\r\n// \t\tdataArr.push(key+\"=\"+data[key]);\r\n// \t}\r\n// \tvar dataStr = \"\";\r\n// \tif(dataArr.length>0){\r\n// \t\tdataStr = dataArr.join(\"&\");\r\n// \t}\r\n// \tvar simplePromise = {\r\n// \t\tsuccessCall:null,\r\n// \t\tsuccess:function(cb){\r\n// \t\t\tsimplePromise.successCall=cb;\r\n// \t\t\treturn simplePromise;\r\n// \t\t},\r\n// \t\terrorCall:null,\r\n// \t\terror:function(cb){\r\n// \t\t\tsimplePromise.errorCall=cb;\r\n// \t\t\treturn simplePromise;\r\n// \t\t},\r\n// \t\trequest:null\r\n// \t};\r\n\r\n// \tvar request;\r\n// \ttry{\r\n// \t\trequest = new XMLHttpRequest();\r\n// \t}catch(e){//兼容todo\r\n\r\n// \t}\r\n\r\n// \tif(request){\r\n// \t\tif(type==\"GET\"){\r\n// \t\t\trequest.open(type,url+\"?\"+dataStr,async);\r\n// \t\t\trequest.withCredentials = true;\r\n// \t\t\trequest.send(null);\r\n// \t\t}else{\r\n// \t\t\trequest.open(type,url+\"?mt=\"+Math.random(),async);\r\n// \t\t\trequest.withCredentials = true;\r\n// \t\t\trequest.send(dataStr);\r\n// \t\t}\r\n\r\n// \t\trequest.onreadystatechange=function(){\r\n// \t\t\tif(request.readyState==4){\r\n// \t\t\t\tif(request.status==200){\r\n// \t\t\t\t\tvar res = request.responseText;\r\n// \t\t\t\t\tif(simplePromise.successCall){\r\n// \t\t\t\t\t\tsimplePromise.successCall(res);\r\n// \t\t\t\t\t}\r\n// \t\t\t\t}else{\r\n// \t\t\t\t\tif(simplePromise.errorCall){\r\n// \t\t\t\t\t\tsimplePromise.errorCall(request)\r\n// \t\t\t\t\t}\r\n// \t\t\t\t}\r\n\r\n// \t\t\t}\r\n// \t\t}\r\n// \t}\r\n// \tsimplePromise.request=request;\r\n// \treturn simplePromise;\r\n// }\r\n\r\nfunction loadResource(url,cb){\r\n\tvar index1=url.lastIndexOf(\".\")+1; \r\n\tvar index2=url.length;\r\n\tvar type = url.substring(index1,index2);\r\n\tvar newDom = null;\r\n\tif(type==\"js\"){\r\n\t\tnewDom = document.createElement(\"script\")\r\n\t\tnewDom.setAttribute(\"type\",\"text/javascript\")\r\n\t\tnewDom.setAttribute(\"src\", url)\r\n\t\tdocument.getElementsByTagName(\"body\")[0].appendChild(newDom);\r\n if (document.all) { //IE\r\n newDom.onreadystatechange = function() {\r\n if (newDom.readyState == 'loaded' || newDom.readyState == 'complete') {\r\n cb&&cb(newDom)\r\n }\r\n }\r\n } else {\r\n newDom.onload = function() {\r\n cb&&cb(newDom)\r\n }\r\n }\r\n\r\n\t}else if(type==\"css\"){\r\n\t\tnewDom = document.createElement(\"link\")\r\n\t\tnewDom.setAttribute(\"rel\",\"stylesheet\")\r\n\t\tnewDom.setAttribute(\"type\",\"text/css\")\r\n\t\tnewDom.setAttribute(\"href\",url)\r\n\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(newDom)\r\n\t\tcb&&cb()\r\n\t}\r\n\treturn newDom\r\n}\r\n\r\nvar net = {\r\n\t// ajax:ajax,\r\n\tloadResource:loadResource\r\n}\r\n\r\nmodule.exports = net;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/net.js\n// module id = 4\n// module chunks = 0"],"sourceRoot":""}