热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

删除垃圾代码前的一些保存

删除垃圾代码前的一些保存content_script.jswindow.addEventListener(load,function(){chrome.extension.se

删除垃圾代码前的一些保存

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);
         },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=‘
‘+txt+‘
‘;
} 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);

删除垃圾代码前的一些保存


推荐阅读
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上安装和配置Grafana,包括必要的依赖项安装、插件管理以及服务启动等步骤。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 落樱3D v0.5是一款在Android平台上发布的3D美少女格斗游戏,本次更新带来了多项新功能和优化。 ... [详细]
  • 回顾2014年,我经历了多个重要项目和学习阶段,取得了一定的成绩。新的一年即将到来,希望能在更多项目实践中继续成长。 ... [详细]
  • HDU 1394:线段树优化求解逆序对问题
    本文介绍如何使用线段树高效求解排列中的逆序对问题。通过单点增减和区间求和操作,线段树能够快速处理此类问题,并提供了一种替代树状数组的解决方案。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
author-avatar
陆寥频
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有