删完垃圾代码2

content_script.js

 

// window.addEventListener("load", function() {
//     chrome.extension.sendMessage({
//         type: "dom-loaded", 
//         data: {
//             myProperty: "this is so cool!!!----One-Time Requests,communication happens only once"
//         }
//     });
// }, true);

//=======================this is for the hover=======================
(function(window){
var document = window.document,
    body = document.body,
    a = document.getElementsByTagName('a'),  //for get a href,returns a live HTMLCollection of elements with the given tag name
    currentLength = a.length,
    currentLinks = [],
    displayTimeout,
    normalURL,
    zIndex=100,
    container,
    // containerLabel,
    button,
    size = 1.0,
    rate,
    on,
    showModel,
    hovernow,  //to judge whether the mouse point is on hovering
    delayTime;

loadSettings();
addEvents();
drawWindow();



//从storage中获得值,进行初始化工作
function loadSettings(){
    chrome.storage.sync.get([
        'hoverLinkPosition',
        'hoverLinkOffsetX',
        'hoverLinkOffsetY',
        'hoverLinkNormal',
        'hoverLinkDelayTime',
        'hoverLinkRate',
        'on',
        'model'],
         function(data){
         rate = data.hoverLinkRate;    
         moveBox(data.hoverLinkPosition, data.hoverLinkOffsetX, data.hoverLinkOffsetY);
         normalURL = data.hoverLinkNormal;
         delayTime = data.hoverLinkDelayTime;
         on = data.on;
         showModel = data.model;
         // console.log("log in content"+on);
    });
}

function moveBox(s,x,y){
    // var str = "Hello world!";
 //      var res = str.substr(1, 4)
    var a = s.substring(0,s.indexOf('-')),
        b = s.substr(s.indexOf('-')+1);  // ??
        // console.log(a); //top
        // console.log(b);  //right
       // container.setAttribute('style','z-index:'+zIndex+';');
        container.style[a]=y+'px';  //style里面存放json ,所以a,b是key
        container.style[b]=x+'px';
        container.style['overflow']='scroll';
        container.style['max-width']='1450px';
        container.style['max-height']='400px';
        container.style['-webkit-transform'] = 'scale('+rate+')';
        container.style['-webkit-transform-origin'] = '0px 0px';

        //"-webkit-transform: scale(0.43);-webkit-transform-origin: 200px 100px;overflow:scroll"
}

function addEvents(){
    for(var i=currentLength-1;i>=0;i--){
        addEvent(a[i]);
        currentLinks.push(a[i]); //放入数组中
    }


}

function addEvent(a){
    a.addEventListener('mouseover',linkMouseOver,false);//当mouseover触发,调用linkMouseOver
    a.addEventListener('mouseleave',linkMouseOut,false);
    $('body').on('click',mouseclick);
}


function linkMouseOver(event){
    var url = this.href;  //this应该指a标签
    //console.log("client :top->"+event.clientY+" left->"+event.clientX +" offset:top->"+window.pageYOffset+" left->"+window.pageXOffset);
    container.style['top'] = event.clientY+'px'
    container.style['left'] = event.clientX+'px';
    hovernow = 1;
    displayTimeout = setTimeout(function(){
         displayBox();
         setTimeout(function(){
           mouseOver(url);
         },1500);
         //mouseOver(url);
    },delayTime)

}

function linkMouseOut(event){
    console.log('now mouseout');
    hovernow = 0;
    clearTimeout(displayTimeout); //Prevent the function set with the setTimeout() to execute
    if(!container){
    //$("body").removeChild(container);
    body.removeChild(container);
    }else{
        container.style.display= 'none';
    }
     
}

function mouseOver(url){
    if(hovernow==1){
        console.log('now mouseover');
        $.post('http://gozoom4235.appspot.com/highlight.php',{url:url},function(webdata){
        //displayBox();
        if(showModel==1){   
            insertLabel(webdata);
        }else{     
        showWord(webdata);
        }
        })
    }

}

function mouseclick(event){
    clearTimeout(displayTimeout);
    if(!container){
    //$("body").removeChild(container);
    body.removeChild(container);
    }else{
        container.style.display= 'none';
    }
}

function displayBox() {
    container.innerHTML = "loading.....";
    if(on==1){
    body.appendChild(container);//appendChild会把之前所有关于container的以html节点方式加入,到这里才会在html中显示
    $(container).show('fast');
    }
}

function requestURL(link){
    sendMessage({
        hoverLink:'findURL',
        url:link
    });   //jason
}


function sendMessage(message){
    //chrome.runtime.sendMessage(message,empty);
}

function empty(){}

//========unknow
function drawWindow() {    //画一个框子显示usrl

        var all = document.getElementsByTagName('*');

        for ( var i=all.length; i >= 0; i-- ) {
            var style = getComputedStyle(all[i]);
            if ( !style )
                continue;
            var z = parseInt(style.getPropertyValue('z-index'));
            if ( z > zIndex )
                zIndex = z+1;
        }

        var _container = document.createElement('div');  
        _container.id = 'hoverLinkContainer';
        _container.style.zIndex = zIndex;
        container = _container;

    }

// function showFinalURL(url){
//    insertLabel(url);
// }    

function insertLabel(txt){
    //txt=txt.substring(1,txt.length-1);
    container.innerHTML=txt;
    //嵌入到文本中(注意是‘’不是“”)
    //container.innerHTML='<button onclick="zoomout()">enlarger</button><input type="button" id ="button2" value="smaller" onclick="zoomin()"><div>'+txt+'</div>';
}


function showWord(webdata){
     $.post('http://gozoom4235.appspot.com/body.php',{webdata:webdata},function(data){ //http://localhost/body.php    
     console.log(data);
     insertLabel(data);});
    
}



})(window);

 

posted @ 2014-09-21 08:03  Kstyjobx!!  阅读(215)  评论(0编辑  收藏  举报