注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:按 Ctrl-F5。
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"));
}