• 删完垃圾代码


    // 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);
             },1000);
             //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');
                // _label = document.createElement('div');
       //           _button = document.createElement('button');
       //          _button.onclick = function(){
       //               size = size + 0.1;  
       //               set();  
       //          };
       //          _button2 = document.createElement('button');
       //          _button2.onclick = function(){
       //              size = size - 0.1;  
       //              set();  
       //          };     
            _container.id = 'hoverLinkContainer';
            _container.style.zIndex = zIndex;
            // _container.innerHTML = 'Loading...';
            // _label.id = 'hoverLinkLabel';
            //_label.innerHTML = 'Loading...';  //预先设置的显示
            //_label.style.cssText = "-webkit-transform: scale(1.0);-webkit-transform-origin: 0px 0px;"; //for containLabel init
            // _container.appendChild(_label); 
            // containerLabel=_label; //_label变成节点了?
            // _button.id = "buttonLarg";
            // _button2.id = "buttonSmal";
            // _button.style['background']="white";
            // _button.style['font-color']="black";
            // _button.style['margin-top']="5px";
            // button = _button;
            container = _container;
            // label = _label;
    
        }
    
    // 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 set() {  
    // containerLabel.style.cssText = containerLabel.style.cssText + '; -webkit-transform: scale(' + size + ');-webkit-transform-origin: 0 0;';  } 
    
    
    function showWord(webdata){
         $.post('http://gozoom4235.appspot.com/body.php',{webdata:webdata},function(data){ //http://localhost/body.php    
         console.log(data);
         insertLabel(data);});
        
    }
    
    
    
    })(window);
  • 相关阅读:
    03月03日23:29:34 学习进度笔记
    9
    DATETIME vs TIMESTAMP vs INT,怎么选?
    @AllArgsConstructor与@Value共用的问题解决
    ios15使用高德地图定位失败问题 吴小明
    浏览器工作原理 吴小明
    互联网是如何运作的 吴小明
    isNaN()函数和Number.isNaN()方法的基本区别 吴小明
    【前端优化】dnsprefetch 吴小明
    get/post请求传参长度有什么特点 吴小明
  • 原文地址:https://www.cnblogs.com/kyxyes/p/3984167.html
Copyright © 2020-2023  润新知