金沙澳门官网网址_金沙国际登陆

欢迎加入金沙澳门官网网址体验更多不一样的精彩.,金沙国际登陆提供最丰厚回馈!,因为金沙澳门官网网址这里的游戏是多种多样的,为大家打造一个最专业的化的超级五星酒店。

金沙澳门官网网址 > 金沙澳门官网网址 > 用手机访问本地环境的利器ngrok,10分钟学会前端

原标题:用手机访问本地环境的利器ngrok,10分钟学会前端

浏览次数:180 时间:2019-10-08

资源

快捷键:按<F12>可以快速开启Firebug,如果想获取完整的快捷键列表,可以访问.

问题:如果安装过程中遇到了困难,可以查看Firebug的Q&A,网址为.

Firebug插件:Firebug除了本身强大的功能之外,还有基于Firebug的插件,它们用于扩充Firebug的功能。比如Google公司开发Page Speed插件,开发人员可以使用它来评估他们网页的性能,并获得有关如何改进性能的建议。Yahoo公司开发的用于检测页面整体性能的YSlow和用于调试PHP的FirePHP。还有用于调试Cookie的Firecookie等。

4.1 WebSocket 构造函数

WebSocket 对象作为一个构造函数,用于新建 WebSocket 实例。

var ws = new WebSocket('ws://localhost:8080');

1
2
var ws = new WebSocket('ws://localhost:8080');
 

执行上面语句之后,客户端就会与服务器进行连接。

实例对象的所有属性和方法清单,参见这里。

用手机访问本地环境的利器ngrok

2015/08/11 · HTML5 · 4 评论 · ngrok

原文出处: 吕大豹   

我们在调试移动端页面,尤其是调试微信页面的时候,会遇到这样的情况,手机连着公司的wifi,开发环境(台式机)插着公司的网线,我们要用手机来访问开发环境下的页面。这个时候,如果网线和wifi是在同一个网段,那么直接在手机访问电脑的ip就可以访问到我们搭在本地的web服务。但是,很多时候,公司的网络并不是这么架设的,wifi和网线不在一个网段,那么,通过上述方法就无法访问到了。

有时候调试必须在手机上进行,在chrome下的模拟无法满足。这时候怎么办呢?之前我采取的是这样的办法,电脑上插一个360wifi(插USB孔的那种),然后共享出热点,手机连接到这个热点上网,就可以访问到开发环境了。如果需要查看http请求,在电脑上打开fiddler,设置一个代理,然后在手机上设置wifi的代理为fiddler,(端口默认是8888)。这样来自手机的请求就会被fiddler捕获到,你就能使用fiddler的强大功能来调试代码了。

上面这个办法挺方便的,但是需要一个小小的硬件,360wifi。你可以买一个,非常便宜,百度也有相同的产品。那如果我们手边没有这个硬件可怎么办呢?接下来该主角出场了,那就是ngrok。

ngrok是个什么玩意呢?其实它就是一个反向代理,我们机器上运行起这个服务后,它可以把本地的一个端口代理到公网。代理到公网是什么概念?公网啊,那就是大家都可以访问到了,没有任何网络限制。当然,我们的测试机,连接到任何网络下的手机也是可以的了。

然而不幸的时,ngrok架设在美国,已经被我们伟大的祖国给墙掉了。但是!一位良心网友在国内架设了一台服务器,我们可以任意使用,鼓掌!

废话说了这么多,我们来看看ngrok到底怎么使用呢?其实是相当简单的。

一、下载相关文件

首先,从这位仁兄架设的网站上(

二、运行服务

下载后的两个文件,我们随便找一个目录放好就行,例如,我放在D盘,这样就行了:
金沙澳门官网网址 1

然后,打开cmd终端,输入如下命令来启动服务: ngrok -config ngrok.cfg -subdomain lvdabao 80

用-config参数来指定配置文件,-subdomain指定访问的子域名称和本地的端口,出现以下界面,说明启动成功了:

金沙澳门官网网址 2

注意一点,这个子域名称是可以随意起的,但不能与别人的重名,因为这个名称是你的代理的唯一标识,之后用

三、进入调试界面

把服务启动起来还不够,我们的最终目的是要调试呀,我们得能捕获到http请求才行。要实现这个也相当简单,因为ngrok已经为你准备好了。真是相当贴心啊~

请看上面服务运行起来后的信息,有一项 Web Interface 127.0.0.1:4040 ,我们直接访问它就可以进行调试了,在你本地浏览器输入这个地址,试试看吧。

金沙澳门官网网址 3

很炫酷有没有,你可以看到http请求头和返回的内容,你需要的都有了。

而且,还有一个更好用的功能,看到那个Replay按钮了吗,点击它可以手动再发起一次你选中的请求,简直不能更赞,这样我们调试某个数据接口时,也省了老去手机上刷新页面了,尤其是调试微信页面,不必每次都去刷该死的二维码了。

这个利器的基本用法就介绍到这里,能满足我们开头提出的需求了。其实它还有更强大的功能,有兴趣的可以FQ去官网查看文档。最后再次为国内的这位仁兄点赞,大家也可以去他搭建的网站上面查看相关资料:

2 赞 5 收藏 4 评论

金沙澳门官网网址 4

  控制台面板

1.控制台面板概览

此面板可以用于记录日志,也可以用于输入脚本的命令行。

2.记录日志

Firebug提供如下几个常用的记录日志的函数:

console.log:简单的记录日志;

console.debug:记录调试信息,并且附上行号的超链接;

console.error:在消息前显示错误图标,并且附上行号的超链接;

console.info:在消息前显示消息图标,并且附上行号的超链接;

console.warn:在纤细钱显示警告图标,并且附行号的超链接。

在空白的html页面中,向<body>标签中加入<script>标签,代码如下:

JavaScript

<script type="text/javascript"> console.log('this is log message'); console.debug('this is debug message'); console.error('this is error message'); console.info('this is info message'); console.warn('this is warn message'); </script>

1
2
3
4
5
6
7
<script type="text/javascript">
  console.log('this is log message');
  console.debug('this is debug message');
  console.error('this is error message');
  console.info('this is info message');
  console.warn('this is warn message');
</script>

执行代码后可以在Firebug中看到下图所示的结果,以前习惯了用alert来调试程序,然而在Firebug下可以使用console。

金沙澳门官网网址 5

3.格式化字符串输出和多变量输出

这个功能类似于C语言中的语法,可以在console记录日志的方法里使用。

%s:字符串  %d,%i:数字  %f:浮点数  %o:链接对象

同时,这几个函数支持多个变量。代码如下:

JavaScript

<script type="text/javascript"> var kid="孩子",count="3",man="Allen"; var sport1="篮球",sport2="羽毛球",sport3="网球"; console.log("%d个%s在玩游戏",count,kid); console.log(count,"个",kid,"在玩游戏"); console.log("%s擅长的运动有:",man,sport1,sport2,sport3); </script>

1
2
3
4
5
6
7
<script type="text/javascript">
  var kid="孩子",count="3",man="Allen";
  var sport1="篮球",sport2="羽毛球",sport3="网球";
  console.log("%d个%s在玩游戏",count,kid);
  console.log(count,"个",kid,"在玩游戏");
  console.log("%s擅长的运动有:",man,sport1,sport2,sport3);
</script>

运行代码后效果如下图所示:

金沙澳门官网网址 6

Firebug控制台还提供了其他功能,例如检测函数执行时间、消息分组、测试驱动、跟踪、计数以及查看Javascript概况等。更多资料可以访问.

4.面板内的子菜单

控制台面板内有一排子菜单,分别是清除、保持、概况、全部等。

金沙澳门官网网址 7

“清除”用于清除控制台中的内容。“保持”则是把控制台中的内容保存,即使刷新了依然还存在。“全部”则是显示全部的信息。后面的“错误”、“警告”、“消息”、“调试信息”、“Cookies”菜单则是对所有进行了一个分类。

“概况”菜单用于查看函数的性能。下面通过一个例子来演示,代码如下:

JavaScript

<button type="button" id="btn1">执行循环1</button> <button type="button" id="btn2">执行循环2</button> <button type="button" id="btn3">执行循环3</button> <script type="text/javascript"> var f1=function(){ for(var i =0;i<1000;i++) for(var j=0;j<1000;j++); } function f2(){ for(var i =0;i<1000;i++) for(var j=0;j<1000;j++); } document.getElementById("btn1").onclick=f1; document.getElementById("btn2").onclick=f2; document.getElementById("btn3").onclick=function(){ for(var i =0;i<1000;i++) for(var j=0;j<1000;j++); } </script>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<button type="button" id="btn1">执行循环1</button>
<button type="button" id="btn2">执行循环2</button>
<button type="button" id="btn3">执行循环3</button>
<script type="text/javascript">
    var f1=function(){
        for(var i =0;i<1000;i++)
            for(var j=0;j<1000;j++);
    }
    function f2(){
        for(var i =0;i<1000;i++)
            for(var j=0;j<1000;j++);
    }
    document.getElementById("btn1").onclick=f1;
    document.getElementById("btn2").onclick=f2;
    document.getElementById("btn3").onclick=function(){
        for(var i =0;i<1000;i++)
            for(var j=0;j<1000;j++);
    }
</script>

打开页面,显示三个按钮:

金沙澳门官网网址 8

打开页面后,先启用Firebug控制台面板,然后单击“概况”菜单,如下图所示:

金沙澳门官网网址 9

从上图中可以看到,出现了一行字,“概况收集中。再次点击“概况”查看结果。”,接着,依次单击“执行循环1”、“执行循环2”、“执行循环3”三个按钮各一次,并再次单击“概况菜单”,即可看到如下图所示结果:

金沙澳门官网网址 10

可以看到Firebug显示出了非常详细的报告。包括每个函数的函数名、调用次数、占用时间的百分比、占用时间、时间、平均时间、最小时间、最大时间以及所在的文件的行数等信息。

5.Ajax调试

控制台面板也可用于Ajax调试,在一定程度上可以取代网络面板。例如我打开一个页面,可以在Firebug控制台看到本次Ajax的Http请求头信息和服务器响应头信息。如下图,它会显示出本次使用的Ajax的GET方法、地址、耗时以及调用Ajax请求的代码行数。最重要的是有5个标签,即参数、头信息、响应、HTML、Cookies.第一个标签用于查看传递给服务器的参数;第二个标签用于查看响应头信息和请求头信息;第三个标签用于查看服务器返回的内容;第四个标签则是查看服务器返回的HTML结构;第五个标签用于查看相应的Cookies。

金沙澳门官网网址 11

如果看不到任何信息的出现,可能是将此功能关闭了,可以单击“控制台”旁边的下拉箭头,将“显示XMLHttpRequests”前面的勾勾选上即可。

金沙澳门官网网址 12

4.6 webSocket.send()

实例对象的send()方法用于向服务器发送数据。

发送文本的例子。

ws.send('your message');

1
2
ws.send('your message');
 

发送 Blob 对象的例子。

var file = document .querySelector('input[type="file"]') .files[0]; ws.send(file);

1
2
3
4
5
var file = document
  .querySelector('input[type="file"]')
  .files[0];
ws.send(file);
 

发送 ArrayBuffer 对象的例子。

// Sending canvas ImageData as ArrayBuffer var img = canvas_context.getImageData(0, 0, 400, 320); var binary = new Uint8Array(img.data.length); for (var i = 0; i

1
2
3
4
// Sending canvas ImageData as ArrayBuffer
var img = canvas_context.getImageData(0, 0, 400, 320);
var binary = new Uint8Array(img.data.length);
for (var i = 0; i

总结

通过本文的学习,读者可以掌握Firebug的基本功能。Firebug已经逐渐成为一个调试平台,而不仅仅是一个简单的Firefox扩展插件。学好Firebug能给以后的学习和工作提供一定的帮助。

参考文献:《锋利的JQuery(第2版)》

1 赞 3 收藏 1 评论

金沙澳门官网网址 13

六、WebSocketd

下面,我要推荐一款非常特别的 WebSocket 服务器:Websocketd。

它的最大特点,就是后台脚本不限语言,标准输入(stdin)就是 WebSocket 的输入,标准输出(stdout)就是 WebSocket 的输出。

金沙澳门官网网址 14

举例来说,下面是一个 Bash 脚本counter.sh

#!/bin/bash echo 1 sleep 1 echo 2 sleep 1 echo 3

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
 
echo 1
sleep 1
 
echo 2
sleep 1
 
echo 3
 

命令行下运行这个脚本,会输出1、2、3,每个值之间间隔1秒。

$ bash ./counter.sh 1 2 3

1
2
3
4
5
$ bash ./counter.sh
1
2
3
 

现在,启动websocketd,指定这个脚本作为服务。

$ websocketd --port=8080 bash ./counter.sh

1
2
$ websocketd --port=8080 bash ./counter.sh
 

上面的命令会启动一个 WebSocket 服务器,端口是8080。每当客户端连接这个服务器,就会执行counter.sh脚本,并将它的输出推送给客户端。

var ws = new WebSocket('ws://localhost:8080/'); ws.onmessage = function(event) { console.log(event.data); };

1
2
3
4
5
6
var ws = new WebSocket('ws://localhost:8080/');
 
ws.onmessage = function(event) {
  console.log(event.data);
};
 

上面是客户端的 JavaScript 代码,运行之后会在控制台依次输出1、2、3。

有了它,就可以很方便地将命令行的输出,发给浏览器。

$ websocketd --port=8080 ls

1
2
$ websocketd --port=8080 ls
 

上面的命令会执行ls命令,从而将当前目录的内容,发给浏览器。使用这种方式实时监控服务器,简直是轻而易举(代码)。

金沙澳门官网网址 15

更多的用法可以参考官方示例。

  • Bash 脚本读取客户端输入的例子
  • 五行代码实现一个最简单的聊天服务器

金沙澳门官网网址 16

websocketd 的实质,就是命令行的 WebSocket 代理。只要命令行可以执行的程序,都可以通过它与浏览器进行 WebSocket 通信。下面是一个 Node 实现的回声服务greeter.js

process.stdin.setEncoding('utf8'); process.stdin.on('readable', function() { var chunk = process.stdin.read(); if (chunk !== null) { process.stdout.write('data: ' + chunk); } });

1
2
3
4
5
6
7
8
9
process.stdin.setEncoding('utf8');
 
process.stdin.on('readable', function() {
  var chunk = process.stdin.read();
  if (chunk !== null) {
    process.stdout.write('data: ' + chunk);
  }
});
 

启动这个脚本的命令如下。

$ websocketd --port=8080 node ./greeter.js

1
2
$ websocketd --port=8080 node ./greeter.js
 

官方仓库还有其他各种语言的例子。

HTML面板

1.查看和修改HTML代码

Html面板的强大之处就是能查看和修改HTML代码,而且这些代码都是经过格式化的。下面以我的一个浏览器主页来做讲解。

金沙澳门官网网址 17

在页面中蓝色部分表示元素本身,紫色表示padding部分,黄色表示margin部分。同时可以实时地添加、修改和删除HTML节点以及属性,如下图所示。另外,单击script节点还可以直接查看脚本,此处的脚本无论是内嵌在HTML中还是外部导入的,都可以查看到。同样这也适用于<style>标签内嵌或者导入的CSS样式和动态创建HTML代码。

金沙澳门官网网址 18

在HTML控制台的左侧可以看到整个页面当前的文档结构,可以通过单击“+”来展开。当单击相应的元素时,右侧面板中就会显示出当前元素的样式、布局以及DOM信息。而当光标移动到HTML树中相应元素上时,上面页面中相应的元素将会被高亮显示。

例如,将光标移动到一个<P>标签上,显示效果如下图所示:

金沙澳门官网网址 19

在HTML控制台的左侧可以看到整个页面当前的文档结构,可以通过单击“+”来展开。当单击相应的元素时,右侧面板中就会显示出当前元素的样式、布局以及DOM信息。而当光标移动到HTML树中相应元素上时,上面页面中相应的元素将会被高亮显示。

例如,将光标移动到一个<P>标签上,显示效果如下图所示:

2.查看(Inspect)

利用查看(Inspect)功能,可以快速地寻找到某个元素的HTML结构,如图:

金沙澳门官网网址 20

当单击”Inspect”按钮后,用鼠标在网页上选中一个元素时,元素会被一个蓝色的框框住,同时下面的HTML面板中相应的HTML树也会展开并且高亮显示。再次单击后即可退出该模式,并且底部的HTML树也保持在这个状态。通过这个功能,可以快速寻找页面内的元素,调试和查找相应代码非常方便。刷新网页后,页面显示的仍然是用Inspect选中的区域。

HTML面板下方的“编辑”按钮可以用于直接编辑选中的HTML代码,而后面显示的是当前元素在整个DOM中的结构路径。

3.查看DOM中被脚本更改的部分

通过JavaScript来改变样式属性的值可以完成一些动画效果。打开页面后,利用查看(Inspect)功能来选择相应的HTML代码,例如,选中“要闻”,如下图所示:

金沙澳门官网网址 21

单击“国内”标签后,出现下图所示效果:

金沙澳门官网网址 22

通过上图可以看出,HTML查看器会将页面上改变的内容页记录下来,并以黄色高亮表示。有了这个功能,网页的暗箱操作将彻底成为历史。我们可以使用该功能查看其它网站的动画效果是如何实现的。

4.查看和修改元素的样式

在右侧的样式面板中,展示了此元素当前所有的样式。所有的样式都可以实时地禁用和修改,如下图所示,通过在”text-align:center”前单击会出现禁用的标记,这样就可以禁用此规则。通过直接在样式value值上单击就可以修改。

金沙澳门官网网址 23

单击“布局”面板即可看到此元素具体的布局属性,这是一个标准的盒模型。通过“布局”面板,可以很容易地看到元素的偏移量、外边距、边框、内边距和元素的高度、宽度等信息,如下图所示:

金沙澳门官网网址 24

5.查看DOM的信息

单击“DOM”面板后可以看到此元素的详细的DOM信息以及函数和事件,如下图所示:金沙澳门官网网址 25

4.4 webSocket.onclose

实例对象的onclose属性,用于指定连接关闭后的回调函数。

ws.onclose = function(event) { var code = event.code; var reason = event.reason; var wasClean = event.wasClean; // handle close event }; ws.addEventListener("close", function(event) { var code = event.code; var reason = event.reason; var wasClean = event.wasClean; // handle close event });

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ws.onclose = function(event) {
  var code = event.code;
  var reason = event.reason;
  var wasClean = event.wasClean;
  // handle close event
};
 
ws.addEventListener("close", function(event) {
  var code = event.code;
  var reason = event.reason;
  var wasClean = event.wasClean;
  // handle close event
});
 

主面板

安装完成之后,在Firefox浏览器的地址后方就会有一个小虫子的图标金沙澳门官网网址 26。单击该图标后即可展开Firebug的控制台,也可以通过快捷键<F12>来打开控制台。使用Ctrl+F12快捷键可以使Firebug独立打开一个窗口而不占用Firefox页面底部的空间。

金沙澳门官网网址 27

从上图中可以看出,Firebug包括7个面板:

控制台面板:用于记录日志、概览、错误提示和执行命令行,同时也用于Ajax的调试;

HTML面板:用于查看HTML元素,可以实时地编辑HTML和改变CSS样式,它包括3个子面板,分别是样式、布局和DOM面板;

CSS面板:用于查看所有页面上的CSS文件,可以动态地修改CSS样式,由于HTML面板中已经包含了一个CSS面板,因此该面板将很少用到;

脚本面板:用于显示Javascript文件及其所在的页面,也可以用来显示Javascript的Debug调试,包含3个子面板,分别是监控、堆栈和断点;

金沙澳门官网网址 ,DOM面板:用于显示页面上的所有对象;

网络面板:用于监视网络活动,可以帮助查看一个页面的载入情况,包括文件下载所占用的时间和文件下载出错等信息,也可以用于监视Ajax行为;

Cookies面板:用于查看和调整cookie(需要安装下文资源中所提到的Firecookie)。


 

WebSocket 教程

2017/05/15 · 基础技术 · websocket

原文出处: 阮一峰   

WebSocket 是一种网络通信协议,很多高级功能都需要它。

本文介绍 WebSocket 协议的使用方法。

金沙澳门官网网址 28

10分钟学会前端调试利器——FireBug

2015/09/17 · HTML5, JavaScript · 1 评论 · 调试

原文出处: 惟吾德馨(@Allen_Bryant)   

四、客户端的 API

WebSocket 客户端的 API 如下。

本文由金沙澳门官网网址发布于金沙澳门官网网址,转载请注明出处:用手机访问本地环境的利器ngrok,10分钟学会前端

关键词:

上一篇:没有了

下一篇:没有了