在手机网页上模拟 js 控制台

在手机上模拟 console  做一些简单代码调试

在工作机上编辑好代码用QQ 之类的工具传到 手机上在调试
当然你也可以尝试用一只手指写代码的壮举

/****
mobiDebuggerHelper.js
by cnblogs.com/ecalf
*****/
var mobiDebug = {
    init:function(lauch){
        var holder = document.createElement(‘div‘);
        var toolbar = document.createElement(‘div‘);
        var content = document.createElement(‘div‘);
        var editor = document.createElement(‘div‘);
        var board = document.createElement(‘div‘);

        var textarea = document.createElement(‘textarea‘);

        holder.appendChild(toolbar);
        holder.appendChild(content);
        content.appendChild(editor);
        content.appendChild(board);
        editor.appendChild(textarea);

        holder.style.cssText = ‘position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:black;padding:30px 5px;display:none;font-size:14px;font-family:"Courier New";text-align:left;‘;
        toolbar.style.cssText = ‘position:absolute;top:0;height:30px;text-align:right;line-height:30px;‘;
        toolbar.innerHTML = ‘<button id="btnDebugClose">关闭</button><button id="btnDebugReload">刷新</button><button id="btnDebugClear">清除</button><button id="btnDebugInput">编辑</button><button id="btnDebugSubmit">执行</button>‘;
        content.style.cssText = ‘position:absolute;line-height:150%;top:30px;left:0;bottom:5px;right:0;background:white;color:black;‘;
        board.style.cssText = ‘position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;display:none;‘;
        textarea.style.cssText = ‘position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;‘;

        document.body.appendChild(holder);
        this.holder = holder;
        this.editor = editor;
        this.board = board;

        var host = this;
        var count = 0,timer=0;

        //启动调试
        if(!lauch){
            lauch = document.body;
        }else if(typeof(lauch)==‘string‘){
            lauch = document.getElementById(lauch);
        }

        lauch.onclick = function(){
            if(host.holder.style.display!=‘none‘){ return;}

            if(!timer){
                timer = setTimeout(function(){
                    count = 0;
                },5000);
            }            

            count+=1;

            if(count==4){
                host.show();
                count = 0;
                clearTimeout(timer);
            }
        };

        document.querySelector(‘#btnDebugClose‘).onclick = function(){
            host.show(false);
        };
        document.querySelector(‘#btnDebugReload‘).onclick = function(){
            location.reload();
        };
        document.querySelector(‘#btnDebugInput‘).onclick = function(){
            host.showEditor();
        };
        document.querySelector(‘#btnDebugSubmit‘).onclick = function(){
            host.test();
        };
        document.querySelector(‘#btnDebugClear‘).onclick = function(){
            if(host.editor.style.display!=‘none‘){
                textarea.value=‘‘;
            }else{
                host.board.innerHTML=‘‘;
            }
        };

        return this;
    },
    show:function(frag){
        this.holder.style.display=frag===false?‘none‘:‘block‘;

        return this;
    },
    showEditor:function(frag){
        this.editor.style.display=frag===false?‘none‘:‘block‘;
        this.board.style.display=frag===false?‘block‘:‘none‘;
        return this;
    },
    showLog:function(frag){
        this.board.style.display=frag===false?‘none‘:‘block‘;
        this.editor.style.display = frag===false?‘block‘:‘none‘;
        return this;
    },
    log:function(){// var mobiConsole = this; mobiConsole.log(‘hello world‘,‘color:red‘); the scope this is mobiConsole,not window
        var p = document.createElement(‘p‘);
        var args = arguments;
        var color = args[args.length-1];
        if((/^colou?r:/i).test(color)){
            p.style.color = color.split(‘:‘)[1];
            args = [].slice.apply(args,[0,-1]);
        }else{
            args = [].slice.apply(args,[0]);
        }

        var s = args.join(‘ ‘).replace(/[<>]/g,function(s){ return ‘&#‘+s.charCodeAt(0);});

        p.innerHTML = s;
        this.board.appendChild(p);
        return this;
    },
    getCode:function(){
        var code = this.editor.querySelector(‘textarea‘).value;
        return new Function(code);
    },
    test:function(){
        var fun = this.getCode();
        fun.call(this);
        this.showEditor(false).showLog();
        return this;
    }

};

use like this...
mobiDebug.init($(".header .menu").get(0));
时间: 2024-10-19 02:06:17

在手机网页上模拟 js 控制台的相关文章

Java将网页上的js下载下来。

1 import java.io.BufferedReader; 2 import java.io.File; 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.InputStreamReader; 6 import java.net.HttpURLConnection; 7 import java.net.URL; 8 9 import com.hanweb.common.util.File

手机网页上拉加载内容

$(window).scroll(function() { var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).height(); var windowHeight = $(this).height(); var positionValue = (scrollTop + windowHeight) - scrollHeight; if (positionValue >= 0) { //执行ajax,获取数据 }

HTML5的audio在手机网页上无法自动加载/播放音乐,能否实现该功能?

在IOS中第一次调用play方法播放音频会被阻止,必须得等用户有交互动作,比如touchstart,click后才能正常调用,在微信中可以通过监听WeixinJSBridgeReady事件来提前播放一个超级短的无声音文件,之后替换src,这样再调用play方法就可以了. 代码如下: $(document).one('WeixinJSBridgeReady', function () { var audio = document.getElementById("audio"); audi

hlConsole – 手机网页JS日志查看工具

前端的同学都知道,在开发PC页面的时候,经常用到F12的Console,来查看日志.调试.定位问题.但是在手机环境下,看不到Console,最笨的方法就是用alert代替,但是调试起来十分的不方便. hlConsole,是一款网页版的Console,可以方便的看到手机网页里,js输出的各种日志.而且使用非常简单,只需要引用一个JS即可.第一步:用PC浏览器打开http://console.hongliang.org/.如图: 第二步:登录(如果不想注册,可以使用Guest用户).如图: 第三步:

html5 DeviceOrientation来实现手机网站上的摇一摇功能

原文地址:http://www.cootm.com/?p=706 从网上转载看到的,感觉不错,就转过来了,特此感谢 cnblogs 的 幸福2胖纸的码农生活,直接转载了,不要介意!呵呵 以下是转载内容. ——————————————————— 介绍之前做两个声明: 1.以下代码可以直接运行,当然你别忘了引用jQuery才行,我可提醒了,别到时候跑不起来骂我就成: 2.下面的实现思想参照了网上的一些文章,自己做了以下整理,对代码加入了一些注释说明,本人并非原创. 1 <html lang="

支付宝手机网页支付即时到账接口

mycncart的前后台均为移动设备方便访问,支付宝方面单独针对移动设备访问网站设立了支付接口,普通的支付宝即时到账接口无法在手机网页上正常支付 本支付插件是支付宝手机网页即时到账接口. 本插件需要解决生成商家公钥和私钥等,以及与支付宝方面的技术接洽,请与我联系获取此免费技术支持. 主要功能: 1. 针对有资格申请支付宝手机网页即时到账的中国国内公司商家设计使用: 2. 可设置最低启用金额; 3. 可设置适用的国家和地区用户; 4. 设定相关订单状态: 5. 当支付款项成功时,支付宝将相关操作异

Alipay Wap (Mobile) Payment 支付宝手机网页即时到账(For OpenCa

目前OpenCart2.0.0.0以来的前后台均为移动设备方便访问,支付宝方面单独针对移动设备访问网站设立了支付接口,普通的支付宝即时到账接口无法在手机网页上正常支付 本支付插件是支付宝手机网页即时到账接口,在 OpenCart 2.0.x版本测试成功! 本插件需要解决生成商家公钥和私钥等,以及与支付宝方面的技术接洽,请与我联系获取此免费技术支持. My Email: [email protected] 主要功能: 1. 针对有资格申请支付宝手机网页即时到账的中国国内公司商家设计使用: 2. 可

用js在网页上完成倒计时3秒后自动跳转到另一个页面

<body> <div id="time"></div> <a href="#" onclick="stop()">停止</a> <script type="text/javascript"> var i=3; function changeTime(){ document.getElementById("time").innerHTM

在电脑上浏览手机网页

1.下载google浏览器 2.运行 -> chrome.exe --user-agent="Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" 在电脑上浏览手机网页,布布扣,bubuko.com