阅读:2240回复:9
SessionPageMod怎么下载变成能正常安装的扩展呢?
在github找到一个有用的扩展,
一个 Firefox 扩展,主要作用是在 Firefox 启动时显示一个起始页,上面是你上次关闭浏览器时未关闭的页面列表,你可以选择是否再次打开其中的页面。 里面是详细的代码,但是不是打包好的, zip下载之后, 用7z压缩之后,修改扩展名为xpi,拖入firefox,显示扩展已损坏,请问如何处理? https://github.com/guizai/SessionPageMod |
|
1楼#
发布于:2013-12-11 12:55
SessionPageMod-master.xpi不知道可不可用
|
|
2楼#
发布于:2013-12-11 13:02
|
|
3楼#
发布于:2013-12-11 13:03
|
|
4楼#
发布于:2013-12-11 13:05
|
|
5楼#
发布于:2013-12-11 13:09
具体怎么使用呢?
|
|
6楼#
发布于:2013-12-11 13:09
|
|
7楼#
发布于:2013-12-11 13:12
jasonshaw:能安装,但是好像重启没反应回到原帖那就不知道了 // ==UserScript== // @name bookmarkallmod.uc.js // @description 浏览器退出时保存所有页面 // @author feiruo // @include main // @charset utf-8 // @version 1.1 // @note 参考于jackchzj的bookmark_all_onclose,原脚本地址<a target="_blank" href="https://j.mozest.com/zh-CN/ucscript/script/58" class="linkyfier">https://j.mozest.com/zh-CN/ucscript/script/58</a> // @note 增加保存位置选择和条目限制等 // @note 注意:因为用了与jackchzj原脚本不同的加入书签方法,所以对于未载入标签,存入的书签名是URL,只有载入之后才能获取标题 // ==/UserScript== (function () { var pref={ bookmarkallon:true, // 默认是否启用关闭窗口后自动保存,设为false之后可用快捷键调用 toolbarFolder:false, // 保存在书签工具栏为TRUE 否则保存在书签菜单里 number:"15", //条目限制,保存次数的上限,多余限制数目会自动删除旧的 savekey:"shift+alt+b", //立刻保存 switchkey:"shift+alt+n", //实时启用禁用本次浏览保存,下次启动恢复bookmarkallon设定的值 dateParse:"%Y/%m/%d %H:%M:%S", // 日期格式,可以有空格之类的,年:%Y,月:%m,日:%d,,时:%H,分:%M,秒:%S //文件目录,可以中文,有节操无下限 dirs:[ "Conversations", ], //不保存的网站,支持部分正则, exclude:[ "chrome://*", "about:*", "<a target="_blank" href="http://www.baidu.com/baidu?" class="linkyfier">http://www.baidu.com/baidu?</a>*", "<a target="_blank" href="http://www.baidu.com/s?" class="linkyfier">http://www.baidu.com/s?</a>*", ], /*** * 若要禁用快捷键, 请设为空字符""或数字0,或删除下面注释的行 * 用加号组合快捷键, 支持Ctrl|Alt|Shift三个组合键, 不分大小写 * 若你所设置的按键无效, 可尝试将最后一位换成按键的keyCode(数字) * 获取keyCode的方法: 在浏览器地址栏输入以下代码并回车, 然后按下你所需的键 * javascript:void(document.addEventListener('keydown',function(e){alert(String.fromCharCode(e.keyCode)+' : '+e.keyCode)},!1)) ***/ }; savekey();//立即保存快捷键 switchkey();//实时开关快捷键 switchs(); function bookmarkall(){ var bookmarksService=Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.nsINavBookmarksService); if(pref.toolbarFolder==true){ var target_folder=bookmarksService.toolbarFolder; }else{ var target_folder=bookmarksService.bookmarksMenuFolder; } for(var i=0;i<pref.dirs.length;i++){ for(var j=0;(bookmarksService.getIdForItemAt(target_folder,j)!=-1);j++){ var temp_folder=bookmarksService.getIdForItemAt(target_folder,j); var temp_folder_title=bookmarksService.getItemTitle(temp_folder); if(temp_folder_title==pref.dirs[i]){ target_folder=temp_folder; var k=i;} } } if(k== undefined){ for(i=0;i<pref.dirs.length;i++){ target_folder=bookmarksService.createFolder(target_folder,pref.dirs[i],0); }}else{ for(i=1+k;i<pref.dirs.length;i++){target_folder=bookmarksService.createFolder(target_folder,pref.dirs[i],0); } } var duoyu=new Array(); for(var i=0;(bookmarksService.getIdForItemAt(target_folder,i)!=-1);i++){ var temp_folder=bookmarksService.getIdForItemAt(target_folder,i); var temp_folder_title=bookmarksService.getItemTitle(temp_folder); duoyu+=temp_folder+"-"; } if(i>pref.number-2){ var duoy=duoyu.substring(0,duoyu.lastIndexOf('-')); var duo=duoy.split("-"); for(var m=duo.length-1; m>pref.number-2;m--){ bookmarksService.removeItem(duo[m]); } } function getDateTime(){ var now=new Date(); return now.toLocaleFormat(pref.dateParse); } var www=new Array(); var browsers=document.getElementById('content').browsers; for(var i=0;i<browsers.length;++i){ var webNav=browsers[i].webNavigation; var url=webNav.currentURI.spec; var name=""; try{ var doc=webNav.document; name=doc.title||url; }catch(e){name=url;} www+=url+'::::::::::'+name+',\n'; } for(var i=0;i<pref.exclude.length;i++){ if(pref.exclude[i].match(/\*/)){ var paichu=pref.exclude[i].replace(/\*/,".*\n"); paichu=new RegExp(paichu,"g"); }else{ var paichu=pref.exclude[i]+".*\n"; paichu=new RegExp(paichu,""); } if(www.match(paichu)){ www=www.replace(paichu,""); } } if(www.length!=0){ var duoy=www.substring(0,www.lastIndexOf(',\n')).split(',\n'); target_folder=bookmarksService.createFolder(target_folder,getDateTime(),0); for(i=0;i<duoy.length;i++){ var wwww=duoy[i].substring(0,duoy[i].lastIndexOf('::::::::::')); var tttt=duoy[i].substring(10+duoy[i].indexOf('::::::::::'),duoy[i].length); var uri = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService).newURI(wwww, null, null); bookmarksService.insertBookmark(target_folder, uri, -1, tttt); } }} function savekey(){ var r=/^(?:alt|ctrl|meta|shift)$/i,keys=pref.savekey.split('+').map(function(t){return+(t=t.trim())||(t.length<3?t.toUpperCase().charCodeAt():r.test(t)?t.toLowerCase()+'Key':0)}).filter(function(t){return t}); window.addEventListener('keyup',function(e,t){ (t=e.target).contentEditable=='true'|| keys.some(function(t){return!e[t]&&t!=e.keyCode})|| (bookmarkall(),e.preventDefault(),e.stopPropagation()) }, false); } function switchkey(){ var r=/^(?:alt|ctrl|meta|shift)$/i,keys=pref.switchkey.split('+').map(function(t){return+(t=t.trim())||(t.length<3?t.toUpperCase().charCodeAt():r.test(t)?t.toLowerCase()+'Key':0)}).filter(function(t){return t}); window.addEventListener('keyup',function(e,t){ (t=e.target).contentEditable=='true'|| keys.some(function(t){return!e[t]&&t!=e.keyCode})|| (switchs(),e.preventDefault(),e.stopPropagation()) }, false); } function switchs(){ if(pref.bookmarkallon==true){ window.addEventListener("unload",bookmarkall, false); pref.bookmarkallon=false; }else{ window.removeEventListener("unload",bookmarkall, false); pref.bookmarkallon=true; } } })();或许可以用一下这个uc脚本 退出浏览器保存所有页面为书签 |
|
8楼#
发布于:2013-12-11 13:21
|
|
9楼#
发布于:2013-12-17 15:43
|
|
|