探寻Chrome的内部玄机---Chrome:// Pages

原文链接:Find Hidden Features On Chrome’s Internal


谷歌浏览器Chrome内置的 chrome:// pages 包含了实验性功能、诊断工具和详细的统计数据。她藏在用户界面下,因此只有你的主动寻找才能感知她的存在。这些隐藏页面是谷歌版的火狐about page

我们可以通过输入chrome:// 紧跟页面名字访问其中的每一个,当然也可以使用较传统的信息:前缀,重定向到Chrome:// URL


Chrome://About

Chrome://About页面列出了chrome的所有内置页,点击任何一个即可访问之。其中,很多页面也可以通过chrome菜单访问,比如:chrome://bookmarks就是书签管理器,chrome://settings是chrome的设置页。



在页面的底部附近也有一些特别的页面用于调试的目的。比如,你可以在地址栏输入 chrome://kill 来关闭当前标签



Chrome://Flags

chrome://flags page以前叫做 chrome://labs page,也许这是最有趣的内置页面。这个页面包含的尚未启用的实验性功能犹如一堆无主之宝。谷歌甚至提示你启用这些功能可能会造成浏览器自主崩溃,甚至是安全、隐私和稳定性方面的问题或者数据丢失。使用需谨慎,风险自担。




在默认启用前,新特性在这里出现。比如,你可以启用“启用NTP书签收藏功能”选项来把实验性书签页面添加到chrome的新标签页。这个新的书签管理器在chrome16中默认禁用,但在更新版本中也许会启用。这个特性在chrome17中被卸载了,也说明了这些实验特性是多么快地出现和消失



Chrome://Sessions


另一个藏在chrome://flags里的特性是“允许同步打开标签”选项,它在chrome的同步设置中添加了“打开标签”选项。


启用这个选项后,你就能在chrome://sessions 页面里找到一个其他浏览器页面的回话列表。这个特性将最终被默认启用并且暴露在chrome的用户界面中,但通过这个,你现在就能用它。


Chrome://Memory & Chrome://Tasks

chrome://Memory页面为你提供了一个chrome内存使用情况的剖析,它详细的展示了每一个正在运行的扩展程序,应用软件和网页占用了多少内存。如果有其他浏览器(比如:火狐、IE)在运行,它也会列出它们的内存使用情况。

这个页面和点击chrome任务管理器底部的“呆瓜状态”链接是相同的。打开任务管理器可以通过右击chrome的标题栏选择任务管理器或者在新标签中输入 chrome://tasks


Chrome://Net-Internals

chrome://Net-Internals页面包含了几乎所有的网络诊断信息和工具。它可以抓取网络信息并导出到文件。这使得它成为一个解决chrome网络问题的利器。

这里的大部分工具对普通用户来说是用不着的,但测试页面(Tests)包含了许多有用的工具。如果一个网站的页面不能被加载,可以把它的地址送到测试页面,chrome会尝试着帮你找出问题所在。


Chrome://Crashes

chrome://crashes列出了反生崩溃的页面列表。只有在chrome设置的覆盖标签下启用“自动发送有效数据和崩溃报告到谷歌”选项,才能在这里看到发生崩溃的页面。


Chrome://Tracing


chrome://tracing页面是一个允许你分析chrome性能的开发者工具。点击“记录”,chrome就将会记录浏览器的活动情况。

在停止记录进程后,你可以深入地挖掘浏览器活动记录,查看是什么占用了最多的时间。如果有一个页面在浏览器上表现缓慢,你甚至可以查看到是哪一部分代码在拖chrome的速度。


——————————————
其他很多的页面都是列出调试信息。比如:chrome://flash页面列出了flash插件的信息,而chrome://sync-internals 页面展示了chrome的同步进程状态。尽情地探索和体验剩下的部分吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
void queen(int n, SqStack &s) { int i, j, k; int find = 0; /*初始化栈顶指针*/ s.top = 0; /*行作为栈顶指针进栈,初始值为1*/ s.top++; /*列作为栈顶指针进栈,初始值为1*/ /*--->(1,1)进栈*/ s.data[s.top] = 1; /*条件:栈不空,循环操作-->开启探寻*/ while (s.top>0) { /*i为行数标志,可作为参数使用,也用于判断是否走尽*/ i = s.top; /*当前皇后行数s.top == n-->已经处理完最后一个皇后,所有皇后均放好,输出一个解 *注意:并不会结束程序,因为N皇后问题有多个解 */ if (s.top == n) { printf("第%d个解:", ++count); for (k = 1; k < s.top; k++) printf("(%d,%d)", k, s.data[k]); printf("\n"); } find = 0; /*在i+1行探寻一个放皇后的位置(i+1,j)*/ for (j = 1; j <= n; j++) /*条件正确,表明探寻到一个合适的位置-->行列入栈*/ if (placeQueen(s, i + 1, j)) { /*行+1入栈*/ s.top++; /*列入栈*/ s.data[s.top] = j; /*找到标志,如果走完此for循环,标志未变更,则走到下一段代码*/ find = 1; /*跳出for循环*/ break; } /*当前行无目标-->退栈*/ if (find == 0) { while (s.top > 0) { /*1-已到达最末列无位置即本行无可放位置,退栈*/ if (s.data[s.top] == n) /*形象来讲,行-1*/ s.top-- ; /*2-未走完全位置,从下位置出发探寻*/ for (j = s.data[s.top] + 1; j <= n; j++) /*在后续列中探寻到合适的位置*/ if (placeQueen(s, s.top, j)) { /*列入栈*/ s.data[s.top] = j; break; } /*当前皇后在本行没有可放位置,退栈 */ if (j > n) s.top--; else break; }} }}
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值