更多操作
(创建页面,内容为“if($('.data').length>0){ getDataFromDOM() } function getDataFromDOM(){ var data = $('.data') var dataLength = data.length var timuList = { timuCount:0 , timuOrder:[] , timu:{} , errorsCount:0 , errorsOrder:[] , errors:{} } for(var i=0;i<dataLength;i++){ var dataObj = $(data[i]) var dataHTML = dataObj.html() var dataText = replaceHTMLobj(dataHTML, dataObj ) var dataJSON = {} try{…”) |
小 (导入1个版本) |
||
(未显示同一用户的16个中间版本) | |||
第1行: | 第1行: | ||
function getDataFromDOM(){ | function getDataFromDOM(){ | ||
var start = new Date().getTime()*1 | |||
var data = $('.data') | var data = $('.data') | ||
var dataLength = data.length | var dataLength = data.length | ||
var timuList = { | var timuList = { | ||
timuCount:0 | order: [] | ||
,timuCount:0 | |||
, timuOrder:[] | , timuOrder:[] | ||
, timu:{} | , timu:{} | ||
第12行: | 第11行: | ||
, errorsOrder:[] | , errorsOrder:[] | ||
, errors:{} | , errors:{} | ||
, repeatSource: {} | |||
} | } | ||
for(var i=0;i<dataLength;i++){ | for(var i=0;i<dataLength;i++){ | ||
第18行: | 第18行: | ||
var dataText = replaceHTMLobj(dataHTML, dataObj ) | var dataText = replaceHTMLobj(dataHTML, dataObj ) | ||
var dataJSON = {} | var dataJSON = {} | ||
var isError = false | |||
try{ | try{ | ||
dataJSON = $.parseJSON(dataText) | dataJSON = $.parseJSON(dataText) | ||
timuList.timuCount += 1 | |||
timuList.timuOrder.push(i) | timuList.timuOrder.push(i) | ||
timuList.timu[i] = { | timuList.timu[i] = { | ||
dataJSON: dataJSON | dataJSON: dataJSON | ||
, dataHTML: dataHTML | , dataHTML: dataHTML | ||
, dataText: dataText | , dataText: dataText | ||
} | } | ||
}catch(e){ | }catch(e){ | ||
isError = true | |||
timuList.errorsCount += 1 | |||
timuList.errorsOrder.push(i) | timuList.errorsOrder.push(i) | ||
timuList.errors[i]={ | timuList.errors[i]={ | ||
info:e | info:e | ||
, dataHTML: dataHTML | , dataHTML: dataHTML | ||
, dataText: dataText | , dataText: dataText | ||
} | } | ||
} | } | ||
timuList.order.push({id:i,isError:isError}) | |||
} | |||
console.log('json加载完成时间:'+(new Date().getTime()*1-start)) | |||
//检查有无重复source | |||
for(var key in timuList.timu){ | |||
var type = timuList.timu[key].dataJSON.type | |||
var source = timuList.timu[key].dataJSON.source | |||
for(var key2 in timuList.timu){ | |||
//console.log(key, key2, timuList.timu[key2].dataJSON) | |||
if(key!==key2 && type === timuList.timu[key2].dataJSON.type && source === timuList.timu[key2].dataJSON.source ){ | |||
if(timuList.repeatSource[key]!==undefined){ | |||
timuList.repeatSource[key].push(key2) | |||
}else{ | |||
timuList.repeatSource[key] = [key2] | |||
} | |||
} | |||
} | |||
} | } | ||
console.log('重复检查完成时间:'+(new Date().getTime()*1-start)) | |||
console.log(timuList) | |||
sDomTimuList(timuList) | sDomTimuList(timuList) | ||
} | } | ||
第45行: | 第65行: | ||
htmlObj.children().each( | htmlObj.children().each( | ||
function (i,v) { | function (i,v) { | ||
console.log(v) | //console.log(v) | ||
var innerHTML = entityToString(v) | var innerHTML = entityToString(v) | ||
var innerHTMLString = '' | var innerHTMLString = '' | ||
innerHTMLString = innerHTML.replace(/"/g,'\\"') | innerHTMLString = innerHTML.replace(/"/g,'\\"') | ||
htmlText = htmlText.replace(innerHTML,innerHTMLString) | htmlText = htmlText.replace(innerHTML,innerHTMLString) | ||
} | } | ||
) | ) | ||
} | |||
return htmlText | return htmlText | ||
} | } | ||
function sDomTimuList(obj){ | function sDomTimuList(obj){ | ||
sessionStorage.setItem("DOMTimuList", obj); | sessionStorage.setItem("DOMTimuList", JSON.stringify(obj)); | ||
} | } | ||
function gDomTimuList(){ | function gDomTimuList(){ | ||
return sessionStorage.getItem("DOMTimuList"); | return JSON.parse(sessionStorage.getItem("DOMTimuList")); | ||
} | } |
2023年6月29日 (四) 15:03的最新版本
function getDataFromDOM(){
var start = new Date().getTime()*1
var data = $('.data')
var dataLength = data.length
var timuList = {
order: []
,timuCount:0
, timuOrder:[]
, timu:{}
, errorsCount:0
, errorsOrder:[]
, errors:{}
, repeatSource: {}
}
for(var i=0;i<dataLength;i++){
var dataObj = $(data[i])
var dataHTML = dataObj.html()
var dataText = replaceHTMLobj(dataHTML, dataObj )
var dataJSON = {}
var isError = false
try{
dataJSON = $.parseJSON(dataText)
timuList.timuCount += 1
timuList.timuOrder.push(i)
timuList.timu[i] = {
dataJSON: dataJSON
, dataHTML: dataHTML
, dataText: dataText
}
}catch(e){
isError = true
timuList.errorsCount += 1
timuList.errorsOrder.push(i)
timuList.errors[i]={
info:e
, dataHTML: dataHTML
, dataText: dataText
}
}
timuList.order.push({id:i,isError:isError})
}
console.log('json加载完成时间:'+(new Date().getTime()*1-start))
//检查有无重复source
for(var key in timuList.timu){
var type = timuList.timu[key].dataJSON.type
var source = timuList.timu[key].dataJSON.source
for(var key2 in timuList.timu){
//console.log(key, key2, timuList.timu[key2].dataJSON)
if(key!==key2 && type === timuList.timu[key2].dataJSON.type && source === timuList.timu[key2].dataJSON.source ){
if(timuList.repeatSource[key]!==undefined){
timuList.repeatSource[key].push(key2)
}else{
timuList.repeatSource[key] = [key2]
}
}
}
}
console.log('重复检查完成时间:'+(new Date().getTime()*1-start))
console.log(timuList)
sDomTimuList(timuList)
}
function replaceHTMLobj(htmlText,htmlObj){
if(htmlObj.children().length>0){
htmlObj.children().each(
function (i,v) {
//console.log(v)
var innerHTML = entityToString(v)
var innerHTMLString = ''
innerHTMLString = innerHTML.replace(/"/g,'\\"')
htmlText = htmlText.replace(innerHTML,innerHTMLString)
}
)
}
return htmlText
}
function sDomTimuList(obj){
sessionStorage.setItem("DOMTimuList", JSON.stringify(obj));
}
function gDomTimuList(){
return JSON.parse(sessionStorage.getItem("DOMTimuList"));
}