/* |-------------------------------------------------------------------------- | SkyCaiji (蓝天采集器) |-------------------------------------------------------------------------- | Copyright (c) 2018 https://www.skycaiji.com All rights reserved. |-------------------------------------------------------------------------- | 使用协议 https://www.skycaiji.com/licenses |-------------------------------------------------------------------------- */ 'use strict';function SkycaijiCpatternBrowser(){this.consoleId='#skycaiji_console';this.bdNum=0;this.bdNumMax=11;this.htmlTxt='';this.htmlObj=null} SkycaijiCpatternBrowser.prototype={constructor:SkycaijiCpatternBrowser,init:function(configTips){var $_o=this;$_o.htmlTxt=$('#skycaiji_browser_html').val();$_o.htmlTxt=$_o.htmlTxt?$_o.htmlTxt:'';$_o.htmlTxt=$_o.htmlTxt.replace(/\>\;/g,'>').replace(/\<\;/g,'<').replace(/\&\;/g,'&');$_o.htmlObj=$($_o.htmlTxt);$('#skycaiji_wrapper').attr('skycaiji-console',$($_o.consoleId).prop('outerHTML'));$('#skycaiji_tpl').remove();$('body').append('');$('#skycaiji_tpl').val($('#skycaiji_wrapper').prop("outerHTML"));$('#skycaiji_wrapper').remove();$('*').removeAttr('onclick').unbind('click').bind('click',function(){var tagName=$(this).prop('tagName').toLowerCase();if(tagName=='body'||tagName=='html'){return!1} $(this).data('skycaiji-click',$(this).data('skycaiji-click')?0:1);var xpaths={};var listXpaths={};var getXpaths=$_o.get_xpaths(this,!1,!1);var getXpaths1=$_o.get_xpaths(this,!1,!0);var getXpaths2=$_o.get_xpaths(this,!0,!0);var xpathTips=['[精确] ','[正常] ','[模糊] '];if(getXpaths.xpath){xpaths[getXpaths.xpath]=xpathTips[0]+getXpaths.xpath} if(getXpaths1.xpath){xpaths[getXpaths1.xpath]=xpathTips[1]+getXpaths1.xpath} if(getXpaths2.xpath){xpaths[getXpaths2.xpath]=xpathTips[2]+getXpaths2.xpath} if(!getXpaths.listXpath){getXpaths.listXpath=getXpaths1.listXpath;if(!getXpaths.listXpath){getXpaths.listXpath=getXpaths2.listXpath}} var getListXpaths=[getXpaths.listXpaths,getXpaths1.listXpaths,getXpaths2.listXpaths];for(var i in getListXpaths){if(getListXpaths[i]&&getListXpaths[i].length>0){for(var ii in getListXpaths[i]){if(getListXpaths[i][ii]){listXpaths[getListXpaths[i][ii]]=xpathTips[i]+getListXpaths[i][ii]}}}} $($_o.consoleId).remove();$('#skycaiji_wrapper').append($('#skycaiji_wrapper').attr('skycaiji-console'));$($_o.consoleId).show();if(getXpaths.xpath){$($_o.consoleId).find('[skycaiji-id="xpath"]').val(getXpaths.xpath);$($_o.consoleId+' [skycaiji-id="xpath"]').parents('.skycaiji-block').eq(0).show();$($_o.consoleId+' [skycaiji-id="box-xpath"]').removeClass('skycaiji-b-c-i');var sltXpaths=$($_o.consoleId+' [skycaiji-id="xpaths"]');var showSlt=!1;for(var i in xpaths){var sltOpt=document.createElement('option');sltOpt.value=i;sltOpt.text=xpaths[i];sltXpaths.append(sltOpt);if(i!=getXpaths.xpath){showSlt=!0}} if(showSlt){sltXpaths.val(getXpaths.xpath);$($_o.consoleId+' [skycaiji-id="box-xpath"]').addClass('skycaiji-b-c-i');sltXpaths.show()}else{sltXpaths.hide()} if(!xpaths.listXpath){$_o.show_xpath_ele('show-xpath',getXpaths.xpath,this)}} if(getXpaths.listXpath){$($_o.consoleId+' [skycaiji-id="listXpath"]').val(getXpaths.listXpath);$($_o.consoleId+' [skycaiji-id="listXpath"]').parents('.skycaiji-block').eq(0).show();$($_o.consoleId+' [skycaiji-id="box-listXpath"]').removeClass('skycaiji-b-c-i');var sltLxs=$($_o.consoleId+' [skycaiji-id="listXpaths"]');var showSlt=!1;for(var i in listXpaths){var sltOpt=document.createElement('option');sltOpt.value=i;sltOpt.text=listXpaths[i];sltLxs.append(sltOpt);if(i!=getXpaths.listXpath){showSlt=!0}} if(showSlt){sltLxs.val(getXpaths.listXpath);$($_o.consoleId+' [skycaiji-id="box-listXpath"]').addClass('skycaiji-b-c-i');sltLxs.show()}else{sltLxs.hide()} $_o.show_xpath_ele('show-listXpath',getXpaths.listXpath,this)}else{$($_o.consoleId+' [skycaiji-id="listXpath"]').parents('.skycaiji-block').eq(0).hide()} return!1});$('*').bind('mouseenter',function(e){$(this).addClass('skycaiji_bg')});$('*').bind('mouseout',function(){$(this).removeClass('skycaiji_bg')});$('body').on('mouseover','#skycaiji_tips',function(){$(this).stop().fadeIn().css('box-shadow','2px 2px 2px #999')});$('body').on('mouseleave','#skycaiji_tips',function(){if($(this).find('.skycaiji-close').length<=0){$(this).fadeOut(3000)}});$('body').on('click','#skycaiji_tips .skycaiji-close',function(){$('#skycaiji_tips').hide()});$('body').on('click',$_o.consoleId+' .skycaiji-close',function(){$($_o.consoleId).hide()});$('body').on('click',$_o.consoleId+' [skycaiji-id="show-xpath"]',function(){$_o.show_xpath_ele('show-xpath',$($_o.consoleId+' [skycaiji-id="xpath"]').val())});$('body').on('click',$_o.consoleId+' [skycaiji-id="show-listXpath"]',function(){$_o.show_xpath_ele('show-listXpath',$($_o.consoleId+' [skycaiji-id="listXpath"]').val())});$('body').on('click',$_o.consoleId+' [skycaiji-id="xpath"]',function(){$_o.copy_val(this)});$('body').on('change',$_o.consoleId+' [skycaiji-id="xpaths"]',function(){var val=$(this).val();if(val){$($_o.consoleId+' [skycaiji-id="xpath"]').val(val);$_o.show_xpath_ele('show-xpath',$($_o.consoleId+' [skycaiji-id="xpath"]').val(),null,1)}});$('body').on('click',$_o.consoleId+' [skycaiji-id="listXpath"]',function(){$_o.copy_val(this)});$('body').on('change',$_o.consoleId+' [skycaiji-id="listXpaths"]',function(){var val=$(this).val();if(val){$($_o.consoleId+' [skycaiji-id="listXpath"]').val(val);$_o.show_xpath_ele('show-listXpath',$($_o.consoleId+' [skycaiji-id="listXpath"]').val(),null,1)}});$('body').on('click',$_o.consoleId+' [skycaiji-id="obj-clear"]',function(){$_o.clear_skycaiji_style();$_o.xpath_btn_status('show-xpath',1);$_o.xpath_btn_status('show-listXpath',1)});$('body').on('click',$_o.consoleId+' [skycaiji-id="obj-parent"]',function(){var xpath=$($_o.consoleId+' [skycaiji-id="xpath"]').val();var csspath=$_o.xpath2csspath(xpath);if($(csspath).parent().length>0){$(csspath).parent().eq(0).click()}else{$_o.tips('没有了',1500)}});$('body').on('click',$_o.consoleId+' [skycaiji-id="obj-child"]',function(){var xpath=$($_o.consoleId+' [skycaiji-id="xpath"]').val();var csspath=$_o.xpath2csspath(xpath);if($(csspath).children().length>0){$(csspath).children().eq(0).click()}else{$_o.tips('没有了',1500)}});$('body').on('click',$_o.consoleId+' [skycaiji-id="obj-prop"]',function(){var xpath=$($_o.consoleId+' [skycaiji-id="xpath"]').val();var csspath=$_o.xpath2csspath(xpath);var props=['outerHtml','innerHtml','text','value'];var propVals={};var curObj=$(csspath).attr('skycaiji-no');curObj=curObj?$_o.htmlObj.find('[skycaiji-no="'+curObj+'"]'):null;if(curObj&&curObj.length>0){for(var i in props){var prop=props[i];var propVal='';if(prop=='innerHtml'||prop=='outerHtml'){if(prop=='innerHtml'){propVal=curObj.html()}else{propVal=curObj.prop('outerHTML')} propVal=propVal?propVal:'';propVal=propVal.replace(/ skycaiji-no=\"[^\"]*\"/ig,'')}else if(prop=='text'){propVal=curObj.text()}else if(prop=='value'){propVal=curObj.val()}else{propVal=curObj.prop(prop)} propVal=propVal?propVal:'';propVals[prop]=propVal} var attrVals=$_o.ele_attrs(curObj);for(var i in attrVals){propVals[i]=attrVals[i]} if(propVals){var html='';for(var i in propVals){if(propVals[i]){html+='