• 删完垃圾代码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);
  • 相关阅读:
    ATOMac
    基于Python3 + appium的Ui自动化测试框架
    记 被难到的第一个算法题
    Requests发Post请求data里面嵌套字典
    Struts,Sping和Spirng MVC等框架分析
    雷军的留名,不是以程序员身份
    你有考虑过如果不做程序员,你会从事什么职业吗?或者你现在正在发展什么第二职业?
    java中的运算运算符 与或非(转)
    记录常用函数
    SQLServer记录常用函数(转)
  • 原文地址:https://www.cnblogs.com/kyxyes/p/3984169.html
Copyright © 2020-2023  润新知