crx源码
❶ 如何在chrome浏览器里面安装360抢票软件
打开浏览器扩展页面,将360抢票扩展插件的安装包拖动到扩展页面即可进行安装!
首先, 直接在chrome里面打开pc.huochepiao.360.cn没法用(因为我在安装360浏览器的时候并没有安装额外的extension, 所以猜测可能并不需要extension). 然而, 经过调试pc.huochepiao.360.cn 这个抢票站点之后发现在js 里面有一段判断代码格外引人注目:
if (isExtInstalled) {
if (extVer >= minExtVer) {
document.getElementById('main').style.display = 'block';
seajs.config({
base: './'
});
于是尝试将判断都设置成true, 这样就能看到和在306浏览器里面显示的界面查不到的功能了, 但是还是没办法登陆以及刷票, 很多访问12306的链接都没有正确返回(connect forbidden).
经过一段时间的分析发现在index.js 里面有些调用widget的url, 于是又发现js源码里面有:
var extUrl = 'http://download.se.360.cn/ext/piao_5.2.0.20.crx'
尝试下载这个文件之后, 用7zip成功解压, 并且通过调试模式加载到chrome的extension, 发现居然可以用.
下一步, 卸载360浏览器.
❷ 怎么查看浏览器插件的源代码(开源的)
网络搜索 zotero 的浏览器插件,下载(解压)会得到一个crx 文件,可用压缩软件解压查看里面的源码,包括 json 、html 、js 等文件。相当于一个web控件,不过这个安装在浏览器中的可能对你浏览的所有网页都起作用。不过直接看源码很难看得懂,我最近也在学习制作浏览器插件,大家有什么好的学习方法也希望一起分享交流~
❸ intext:“什么浏览器比较松”
正因为大家对浏览器的使用率越来越高涨,许多公司也推出了许多不同种类的浏览器了,那么要在使用浏览器的同时,达到网速最快、最稳定的要求,那选对浏览器很重要。
1、谷歌浏览器
就全球的使用对比率来说呢,谷歌当然是首屈一指,目前为止,使用最多、最广泛的浏览器要数谷歌浏览器了,谷歌浏览器呢,它是谷歌自主研发出来的一款高速型浏览器,采用了全球速度最快的chrome内核,谷歌浏览器具有安全、速度快、几乎隐身、标签灵活等特点,提升了稳定性、速度和安全性。谷歌浏览器最大的亮点就是其多进程架构,保护其不会因恶意网页和应用软件而崩溃。
行业内,许多挂上“极速”名号的浏览器,远远都比不上谷歌浏览器,虽然在外观设计和一些人性化的设计上,它没有其他浏览器的优势,但是在要说最好用稳定速度快的话,谷歌当仁不让。
2、360极速浏览器
相信很多电脑用户都在电脑上安装过360软件,而360极速浏览器是奇虎360推出的一款国内使用率最高的浏览器。除了它也是使用的chrome的内核之外,在外观上和一些人性化设计上,都要比很多浏览器强得多,同时针对中国用户的使用习惯做了非常多的功能优化,如鼠标手势,超级拖拽等。
不仅如此,360极速浏览器的快捷方式让很多人都为之动容,这也是人们一直很喜欢使用360极速浏览器的原因之一。
2、世界之窗浏览器
这款浏览器相对于其他的浏览器就比较简单,不仅是外观设计上简单,在很多方面,使用起来都比较简约,这就是它的核心之一。
这款浏览器最大的优点就是它的上网速度不仅快,而且占用的内存空间很少,使用的CPU也比较少,同时它可以人性化的为用户们隔离许多条广告,这是很多用户喜欢使用它的一些方面原因。它的缺点就是相对其他的浏览器来说,它的功能就比较少了。
4、傲游浏览器
很多人可能没听过这个浏览器,但是这款浏览器个人用了好几年了。喜欢它的理由很简单,就是青睐它的一个“资源嗅探器”的功能。这个功能的好用之处,在于可以一键下载所打开的网页的视频和图片素材,有一些网页上不可以被保存的图片和视频,你可以用这个功能下载下来。
优点:下载资源方便;缺点:知名度低。
5、搜狗高速浏览器
搜狗浏览器是由搜狗公司开发,基于谷歌chromium内核,力求为用户提供跨终端无缝的使用体验,是一款比较注重细节的浏览器。
优点:1.启动速度很快,界面普通;2.浏览速度不错,但偶尔造成系统假死(不是浏览器假死),相信用过的都知道;3.高速下载技术,媲美专业下载软件的下载速度,这个不错;
缺点:少数crx谷歌原生高级扩展不太兼容,不过后续一直再修改扩展API,尽可能兼容更多原生扩展。还有就是由于修改较多,高速内核更新速度会慢一点。不过其他双核浏览器也有类似问题。修改越多,内核更新版本的速度就越慢。
6、网络浏览器
网络浏览器,是一款简洁轻快、智能懂你的浏览器。依靠网络强大的搜索平台,在满足用户浏览网页的基础上,它整合网络体系业务优势,带给用户更方便的浏览方式,更舒适的网络特色上网体验。
优点:1.启动速度不错,界面整洁耐看;2.浏览性能流畅、稳定;3.每次打开新标签页都是网络搜索引擎首页很好用。
缺点:1.第一次安装自带收藏夹网址太多了,导致浏览器速度特慢。2.没有自己的特色,别的浏览器有的功能他也做,别的浏览器没有的功能他也没有。
7、QQ浏览器
QQ浏览器从去年开始,腾讯方面对于QQ浏览器进行了重点开发,让其在快速性、安全性、兼容性、稳定性、可拓展性等方面取得完美的平衡,当然对于各种QQ服务的支持更是不在话下。
优点:1.超快的启动速度,简洁清爽的界面;2.双核引擎设计,兼容性好,满足不同网页环境;3.使用稳定,不卡机、不崩溃;4…加入了微信网页版,极大的方便了键盘党。
缺点:1.网页无静音功能(无状态栏);2.在单核浏览器里的内存占用偏高;3.广告过滤不太稳定,部分网页需刷新才能去广告;4…部分页面的上下滚动不流畅。
8、火狐浏览器
这个我主要用来进行隐私页面的浏览的。如果你不希望历史记录被查看,不希望自己的浏览记录因为忘记删除而被发现,不希望被网络追踪ip,那么我相信你也会爱上这款隐私浏览器的。
优点:1、安全性高,火狐自身有阻止弹出性窗口的功能,并且在安装火狐时自定义模式下可以安装一款扩展提高安全性能;2.完全开源,任何人都可以对其进行修改;3.功能完善,有扩展就有一切;
缺点:1.未集成Adobe Flash插件下载完浏览器后还要重新装Abode flash插件,并且一般方法还装不了。2.较容易崩溃某些环境下,有时刚刚开出来就崩溃了。
9、欧朋浏览器
Opera桌面浏览器为来自挪威的一个极为出色的浏览器,具有速度快、节省系统资源、订制能力强、安全性高以及体积小等特点。
优点:1.反应速度极快甚至被称为最快速的浏览器从不卡的浏览器;2.占用内存较小;3.简约轻巧;
缺点:1.由于非国产很多操作习惯可能不太被国人适应;2.非正常退出时内存滞留,这个问题一直受到网友的诟病;3.排版问题,部分小型网站排版有问题。
10、2345加速浏览器
作为新一代的浏览器,2345加速浏览器集成了Chromium和IE双内核,主打极速与安全特性。界面设计上兼顾了传统与创新,广告拦截是其最大的特色功能。
优点:1.极速启动,平和的界面;2.全新打造云安全中心,1秒识别钓鱼网站、网络诈骗;3.双核引擎无缝切换,加载速度快,匹配不同网页。除极速模式和兼容模式外,新增IE11模式,让您在兼容模式异常时多一种选择,细节上可见一斑;
缺点:1.广告多;2.功能还比较少。
11、360浏览器
360安全浏览器拥有全国最大的恶意网址数据库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银仿冒等恶意网址。独创沙箱技术,在隔离模式即使访问木马也不会感染。
优点:1.启动速度不错,界面清新美观;2.双核引擎设计,兼顾安全的同时还能获得不错的访问速度;3.页面兼容性高。
缺点:1.360的插件太少,相对于其他浏览器来说;2.广告还是真心多;3.360必须使用自己的360搜索,搜索结果相对于网络还是有点尴尬,这匹配度不敢恭维
❹ 游程编码源代码
这个...........楼上的诸位说的都是什么啊。今天刚好看到这个问题,把你的E-mail给我把,我有纯c的源码(RLC)。
算了,直接贴关键部分吧。这个有一点C++成分,很容易改的。
bool CompressRunLength(BYTE *pSrc, int nSrcLen, BYTE *&pDes, int &nDesLen, int nBitsPerSample, void* nRuns, int nRunCount, int nRunSize);
bool DecompressRunLength(BYTE *pSrc, int nSrcLen, BYTE *&pDes, int &nDesLen);
#define GetDWORD(buf,bit,mask) ((*(DWORD*)(((BYTE*)buf)+((bit)>>3)))>>((bit)&7)&(mask))
#define GetWORD(buf,bit,mask) ((*(WORD*)(((BYTE*)buf)+((bit)>>3)))>>((bit)&7)&(mask))
int GetBitCount(int n)
{
int nBitCount = 0;
while(n)
n >>= 1, nBitCount++;
return nBitCount;
}
int BinarySearch(void* pValue, int nVlaueSize, void* pArray, int nCount)
{
int nIndex, nResult, nStart = 0, nEnd = nCount-1;
while(nStart <= nEnd)
{
nIndex = (nEnd+nStart)/2;
if((nResult = memcmp((BYTE*)pArray+nIndex*nVlaueSize, pValue, nVlaueSize)) == 0)
return nIndex;
if(nResult > 0)
nEnd = nIndex-1;
else
nStart = nIndex+1;
}
return -1;
}
bool CompressRunLength(BYTE *pSrc, int nSrcLen, BYTE *&pDes, int &nDesLen, int nBitsPerSample, void* nRuns, int nRunCount, int nRunSize)
{
pDes = (BYTE*)malloc(nSrcLen*2);
memset(pDes, 0, nSrcLen*2);
nDesLen = sizeof(DWORD);
*(DWORD*)pDes = nSrcLen; // save source length
*(pDes+nDesLen++) = nBitsPerSample; // save bits per sample
*(pDes+nDesLen++) = nRunCount; // save runs count
*(pDes+nDesLen++) = nRunSize; // save run bytes
memcpy(pDes+nDesLen, nRuns, nRunCount*nRunSize); // save runs
nDesLen += nRunCount*nRunSize;
nDesLen <<= 3; // bytes to bits
if(nRunCount == 0)
nRunCount = 256, nRunSize = 1, nRuns = NULL;
int nBitsPerTypeIndex = GetBitCount(nRunCount-1);
int nMaxRunLength = (1 << nBitsPerSample)-1, nRunLength, nRunIndex, nByte = 0;
// loop in the source buffer
while(nByte < nSrcLen)
if((nRuns && (nRunIndex = BinarySearch(pSrc+nByte, nRunSize, nRuns, nRunCount)) != -1 &&
memcmp(pSrc+nByte+nRunSize, (BYTE*)nRuns+nRunIndex*nRunSize, nRunSize) == 0) ||
(!nRuns && (nRunIndex = *(pSrc+nByte)) == *(pSrc+nByte+1)))
{ // set bit to 1 to indicate type found
*(pDes+(nDesLen>>3)) |= 1 << (nDesLen&7);
*(DWORD*)(pDes+(++nDesLen>>3)) |= nRunIndex << (nDesLen&7);
nDesLen += nBitsPerTypeIndex;
// skip the two repeated runs
nByte += nRunSize*2;
// get run length - 2 (without the two repeated runs)
nRunLength = 0;
while(nRunLength < nMaxRunLength && nByte < nSrcLen &&
((nRuns && memcmp(pSrc+nByte, (BYTE*)nRuns+nRunIndex*nRunSize, nRunSize) == 0) || (!nRuns && (BYTE)nRunIndex == *(pSrc+nByte))))
nRunLength++, nByte += nRunSize;
// save run length and increment destination length by bits per sample
*(DWORD*)(pDes+(nDesLen>>3)) |= nRunLength << (nDesLen&7);
nDesLen += nBitsPerSample;
}
else // one byte
*(WORD*)(pDes+(++nDesLen>>3)) |= *(pSrc+nByte++) << (nDesLen&7), nDesLen += 8;
nDesLen = (nDesLen+7)/8; // bits to bytes
pDes = (BYTE*)realloc(pDes, nDesLen);
return true;
}
bool DecompressRunLength(BYTE *pSrc, int nSrcLen, BYTE *&pDes, int &nDesLen)
{
if(nSrcLen == 0)
return true;
// allocate destination buffer
nDesLen = *(DWORD*)pSrc;
pDes = (BYTE*)malloc(nDesLen);
memset(pDes, 0, nDesLen);
// compression information
int nSrcIndex = sizeof(DWORD);
int nBitsPerSample = *(pSrc+nSrcIndex++);
int nRunCount = *(pSrc+nSrcIndex++);
int nRunSize = *(pSrc+nSrcIndex++);
void* nRuns = pSrc+nSrcIndex;
nSrcIndex += nRunSize*nRunCount;
nSrcIndex <<= 3; // bytes to bits
if(nRunCount == 0)
nRunCount = 256, nRunSize = 1, nRuns = NULL;
int nBitsPerTypeIndex = GetBitCount(nRunCount-1);
int nMaxTypeIndex = (1 << nBitsPerTypeIndex)-1;
int nMaxRunLength = (1 << nBitsPerSample)-1;
int nDesIndex = 0, nRunLength, nRunIndex, nRun, nByte;
nSrcLen <<= 3; // bytes to bits
while(nSrcIndex < nSrcLen-8)
if((*(pSrc+(nSrcIndex>>3)) >> (nSrcIndex++&7)) & 1)
{
nRunIndex = GetDWORD(pSrc, nSrcIndex, nMaxTypeIndex), nSrcIndex += nBitsPerTypeIndex;
nRunLength = GetDWORD(pSrc, nSrcIndex, nMaxRunLength)+2, nSrcIndex += nBitsPerSample;
for(nRun = 0; nRun < nRunLength; nRun++)
for(nByte = 0; nByte < nRunSize; nByte++, nDesIndex += 8)
*(WORD*)(pDes+(nDesIndex>>3)) |= nRuns ? GetWORD(nRuns+nRunSize*nRunIndex, nByte<<3, 0xff) : (BYTE)nRunIndex;
}
else // one byte
*(WORD*)(pDes+(nDesIndex>>3)) |= GetWORD(pSrc, nSrcIndex, 0xff), nDesIndex += 8, nSrcIndex += 8;
return true;
}
❺ 如何安装Proxy SwitchyOmega
1、下载最新版的SwitchOmega插件。进入:
https://github.com/FelisCatus/SwitchyOmega/releases
2、然后找到Downloads部分,下载crx文件。
打开Chrome,在地址栏输入:
chrome://extensions
3、然后回车进入扩展程序管理。
4、打开文件浏览器(nautilus),找到下载好的crx文件所在的目录,然后将文件拖放到Chrome里面。
5、Chrome会提示你要安装吗。显然要。
然后SwitchyOmega就这么安装完成了。
❻ 如何查看chrome扩展的源代码
一、查看已经安装的扩展的源码
在chrome浏览器地址栏里输入chrome://chrome/extensions/ 打开扩展页面
进入目录名是扩展ID 的那个目录,再进入版本目录。就可以看到源代码了。
二、查看扩展文件的源码
扩展文件的后缀名通常是.crx,所以我们把后缀名改为.zip。将.zip文件解压就可以了
❼ 如何查看chrome扩展的源代码
1、查看已经安装的扩展的源码
在chrome浏览器地址栏里输入 chrome://chrome/extensions/ 打开扩展页面
记录要查看的扩展的ID
在地址栏输入 chrome://version/ 找到 配置文件路径 这一项。将路径拷贝
将上面拷贝的路径输入资源管理器的地址栏,进入Extensions目录
进入目录名是扩展ID 的那个目录
进入版本目录
看到源码了
2、查看扩展文件的源码
扩展文件的后缀名通常是.crx
把后缀名改为.zip
将.zip文件解压就可以了
❽ 彩世界初始密码
Chrome的更新速度可以说前无古人,现在我每天打开彩世界APP(1396j)的第一件事就是打开Chrome检查是不是有了新版本。界面清爽、操作人性化、网络备份资料和快速的启动速度令我爱不释手,还有它拥有众多的扩展程序,相对于firefox的插件来说,数量上和质量上稍显不足,但相信chrome将会很快在扩展上超越firefox,firefox上内存占用上实在不令人满意,也许我使用firefox的一个原因就是因为firebug,不过相信chrome平台的类firebug插件也会很快出现。
Chrome的扩展开发十分简单,我们只需要掌握web开发的htm+CSS+Javascript,就能很快开发出自己的扩展。
在开发彩世界APP前首先要掌握一些基础知识。
1、Chrome扩展文件
Chrome扩展文件以.crx为后缀名,在Google Chrome扩展官方网站下载扩展时,Chrome会将.crx文件下载到Chrome的Application Data文件夹的User Data\Temp下,一般是C:\documents and Settings\User\Local Settings\Application Data\Google\Chrome\User Data\Temp,安装完成或者取消安装,该文件就会被删除。.crx实际上是一个压缩文件,使用解压文件打开这个文件就可以看到其中的文件目录。
因此可以认为,我们实际上就是写一个Web应用,然后将按照Chrome的规定将一个快捷方式放在Chrome工具栏上。
2、Browser Actions(扩展图标)
把Browser Actions翻译成扩展图标不是很准确,但它的功能就是把你的应用显示在Chrome工具栏上。我们在上面看到一个文件manifest.json,就是使用这个文件来把相应的图标和其他参数注册到Browser Actions。比如下图中就是EverNote的扩展图标。
3、Page Actions(地址栏图标)
如果你熟悉一些Chrome插件的话,你一定会发现有些扩展的图标不是显示在地址栏的右边,而是显示在地址内部右方,这就是Page Actions地址栏图标。
可以看出上面中有三个Page Actions,图中我标出的是Chrome添加书签,现在你就会发现其实这个也是Chrome的扩展,只不是它是直接内置在Chrome的。
Page Actions与Browser Actions的区别就是Page Actions不是随时都是显示的,必须在特定的页面中这个功能才能使用。因此在开发中注意:如果不是全部页面中都能使用的功能请使用Page Actions方式。
4、popup弹出窗口
popup属于Browser Actions,当点击图标时出现这个窗口,可以在里面放置任何html元素,它的宽度是自适应的。当然,这个弹出窗口不会被Chrome拦截的:)
如下图中是evernote的popup窗口:
5、Background Pages后台页面
这个窗口不会显示,它是扩展程序的后台服务,它会一直保持运行。比如在一些需要数据保存程序中,如果当前用户关闭popup,就需要Background Pages来进行相应的操作。
彩世界app界面实现,我们首先完成彩世界APP界面的显示部分,首先建立一个新文件夹,以扩展应用的名称为标题,我们这里的应用叫做MyTaskList。然后把找一个图标文件,放到文件夹中,也可直接右键下载我的这个图标:
图标文件不要小于19px*19px,但最好也不要超过这个尺寸,虽然大图它会自适应,但会使得应用文件变大。然后完成和未完成状态的两个图标放到资源文件中,可以建立任意文件夹放进去,因为CSS文件把定义它们的路径。
建立manifest.json来定义我们程序配置:
{
“name”: “MyTaskList”,
“version”: “0.9.0”,
“description”: “Management my everyday’s task lists.”,
“browser_action”: {
“default_icon”: “icon.png” ,
“default_title”: “My Task List”,
“default_popup”: “popup.html”
}
}
其中name代表应用程序名,version代表版本号,description代表功能描述。这些在安装扩展后就能看到,见下图:
browser_action代表扩展图标段显示,它会定义图标地址、标题(也就是鼠标悬停提示)和默认的popup页面。我们这里定义的popup页面为popup.html。
接下来开始定义popup.html显示,它不需要使用、和标签,可以直接写上样式、脚本和html。我们的popup.html源码为:
添加新项
新任务
已完成任务
打开预览,样子就已经出来了:
这样我们文件就已经建立完成,文件列表如下:
现在就可以先尝试把它打包装到自己的Chrome里。
首先打开Chrome-工具-扩展程序,展开开发人员模式,打到“打包扩展程序”按钮:
点击“打包扩展程序…”,弹出打包选择文件窗口,在扩展程序根目标中找到我们建立的文件夹,私有密码文件第一次不用选择:
点击确定,它会在根文件夹同一级生成MyTaskList.crx和MyTaskList.pem,MyTaskList.pem是程序签名文件,以新版本的开发中还需要这个文件,不要删除它。把MyTaskList.crx拖进Chrome窗体内,就会把彩世界APP这个应用MyTaskList安装在Chrome里。
❾ bilibili里面的视频怎么下载到电脑上
bilibili 哔哩哔哩视频如何下载到电脑的 3 种方法
bilibili(哔哩哔哩)是目前国内知名的视频弹幕网站,被粉丝们亲切的称为“B站”。
现为国内领先的年轻人文化社区,非常受年轻用户的欢迎。
其操作界面简洁、速度快而且广告也不多,尤其是实时弹幕非常受欢迎。
但是B站目前暂时不支持将视频下载到电脑本地,卷哥今天就教大家几种B站下载到本地的方法。
STEP 1
网页在线解析
打开B站,找到你需要下载的视频页面,复制当前的网页地址。
然后打开以下web网站地址
网址:http://www.jijidown.com/
这是一个支持下载对于B站在线视频和弹幕的一个web,并且终身免费使用。
你也可以直接在视频网页网址 .com 的前面加上 jj 两个字母直接回车也可以到达web下载页面。
点击右边的下载选项即可下载至电脑本地。
STEP 2
网页浏览器插件
利用B站下载助手插件可以更快的在当前网页自动解析点击即可下载
谷歌浏览器。
首先打开谷歌浏览器右上角的自定义及控制按钮,在下拉框中更多工具选项
然后点击扩展程序来启动Chrome浏览器的扩展管理器页面。
找到已经下载好的Chrome离线安装文件xxx.crx,然后将其拖动到Chrome的扩展管理界面中。
这时候用户会发现在扩展管理器的中央部分中会多出一个”拖动以安装“的插件按钮。松开手就安装成功了。
STEP 3
WIN10商店使用UWP版
在微软商店下载哔哩哔哩动画UWP版本并打开。
微软商店的UWP版本是支持下载到本地的,还可以支持自定义下载的位置。
但是功能的丰富程度还是没有windows版的丰富。
好了以上就是下载哔哩哔哩视频到本地的三种方法。
❿ 油猴怎么用
直接在应用商店内下载油猴,打开Chrome浏览器扩展程序页面,拖拽到页面即可完成安装。打开油猴设置初学者或高级配置模式。打开网站点击地址栏右侧的油猴图标可以看到已经成功启用。
是Mozilla Firefox的一个附加组件。它让用户安装一些脚本使大部分HTML为主的网页于用户端直接改变得更方便易用。随着Greasemonkey脚本常驻于浏览器,每次随着目的网页打开而自动做修改,使得运行脚本的用户印象深刻地享受其固定便利性。
Greasemonkey可替网页加入些新功能、修正网页错误、组合来自不同网页的数据、或者数繁不及备载的其他功能。写得好的Greasemonkey脚本甚至可让其输出与被修改的页面集成得天衣无缝,像是原本网页里的一部分。
相关信息
大部分Greasemonkey使用者脚本都是自行撰写,使用对某网站专用的JavaScript代码,透过文档对象模型(DOM)接口对网页内容做操作。维护了个 Greasemonkey 数据库。该数据库描述哪个网址网页对应到哪个脚本。
当使用者加载匹配的网页,Greasemonkey便呼叫相关的脚本,而该脚本便为该页加入输出结果、删除该页的部分、或者移动碍眼的部分。Greasemonkey脚本亦能透过非网域绑定的XMLHTTP要求来查询外部HTTP资源。