您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
百度贴吧马甲切换
当前为
- // ==UserScript==
- // @name Tieba Multiuser
- // @namespace http://gera2ld.blog.163.com/
- // @author Gerald <gera2ld@163.com>
- // @icon http://s.gravatar.com/avatar/a0ad718d86d21262ccd6ff271ece08a3?s=80
- // @version 1.3.1.1
- // @description 百度贴吧马甲切换
- // @homepage http://geraldl.ml/userjs/TiebaMultiuser
- // @include http://tieba.baidu.com/*
- // @require https://greasyfork.org/scripts/144/code.user.js
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant GM_registerMenuCommand
- // ==/UserScript==
- function getValue(k,d){
- var o=GM_getValue(k,'');
- if(o&&typeof o=='string') o=JSON.parse(o);
- return o||d;
- }
- function setValue(k,v){GM_setValue(k,JSON.stringify(v));}
- function switchUser(s,p){
- var d=new Date();if(s) d.setTime(16094e8); else s='';
- document.cookie='BDUSS='+s+';domain=baidu.com;path=/;expires='+d.toGMTString();
- if(typeof p=='function') p();
- else if(typeof p=='string') location.replace(p);
- else location.reload();
- }
- function saveUsers(){setValue('ge_users',users);}
- function userManage(e,p,o){
- e.preventDefault();o=e.target;e=o.parentNode;p=e.parentNode;
- if(o.tagName=='A') {
- if(e==p.firstChild) switchUser();
- else if(e==p.lastChild) {
- //unsafeWindow.TbCom.process("User", "buildLoginFrame"); // HttpOnly cookie
- location.href='http://wappass.baidu.com/?login&u='+encodeURIComponent(location.href);
- } else switchUser(users[o.innerText||o.textContent]);
- } else if(o.tagName=='SPAN') {
- o=o.previousSibling;delete users[o.innerText||o.textContent];
- setTimeout(saveUsers,0);p.removeChild(e);
- }
- }
- function buildMenu(bar){
- utils.addStyle('\
- #ge_tu>li{position:relative;cursor:pointer;}\
- #ge_tu span{position:absolute;top:0;right:0;background:#77f;color:white;border-radius:3px;border:1px solid;border:none;margin:2px;padding:2px;cursor:pointer;line-height:1em;}\
- #ge_tu span:hover{background:red;}\
- ');
- $('<li class=split>').prependTo(bar);
- var a=$('<li><div class="u_menu_item"><a href=# class=u_menu_wrap style="margin-top:-2px;">马甲</a></div></li>').prependTo(bar).mouseover(function(){
- b.show();c.addClass('u_menu_hover');
- }).mouseout(function(){b.hide();c.removeClass('u_menu_hover');}),
- b=$('<div class=u_ddl>').hide().appendTo(a),
- c=a.children().first();
- $('<div class=u_ddl_tit style="left:1px;">').appendTo(b).width(a.innerWidth()-2);
- ul=$('<ul id=ge_tu>').appendTo($('<div class="u_ddl_con u_ddl_con_top">').appendTo(b)).click(userManage);
- initMenu();
- }
- function initMenu(){
- d=[];
- if(users) {
- d.push('<li><a href=#>未登录状态</a></li>');
- for(var i in users) {
- if(!i) {delete users[i];continue;}
- d.push('<li><a href=#>'+i.replace(/&/g,'&').replace(/</g,'<')+'</a><span>删</span></li>');
- }
- } else
- d.push('<li title="未检测到Cookie,请任意添加一个马甲或自行去除对应Cookie的HttpOnly属性。" style="color:gray">未检测到Cookie</li>');
- d.push('<li><a href=#>添加马甲</a></li>');
- ul.html(d.join(''));
- }
- function showOptions(){
- utils.popup.show({
- html:'\
- <h3>设置 - 贴吧马甲切换脚本</h3>\
- <fieldset><legend>马甲数据 <button id=gu_import>导入</button> <button id=gu_export>导出</button> \
- <a title="复制数据到以下文本框然后点击导入即可导入数据。\n点击导出后复制数据文本即可用于导入。">(?)</a></legend>\
- <textarea id=gu_data></textarea></fieldset>\
- ',
- className:'ge_opt',
- init:function(d){
- var t=d.querySelector('#gu_data');t.onclick=function(){this.select();};
- d.querySelector('#gu_import').onclick=function(o){
- try{o=JSON.parse(t.value);}catch(e){o=null;}
- if(o&&typeof o=='object') {
- for(var i in o) users[i]=o[i];
- saveUsers();initMenu();alert('导入成功!');
- } else alert('导入失败!');
- };
- d.querySelector('#gu_export').onclick=function(){t.value=JSON.stringify(users);};
- }
- });
- }
- function init(d,m){
- users=getValue('ge_users',{});
- if((d=PageData)&&d.user&&d.user.is_login&&d.user.name) d=d.user.name; // 贴吧
- if(d) {
- m=document.cookie.match(/BDUSS=(.*?)(;|$)/);
- if(m) {users[d]=m[1];saveUsers();}
- else users=null;
- }
- GM_registerMenuCommand('贴吧马甲设置',showOptions);
- function check(e){
- if(e.target.parentNode.id=='com_userbar') {
- document.body.removeEventListener('DOMNodeInserted',check,false);
- buildMenu(e.target);
- }
- }
- document.body.addEventListener('DOMNodeInserted',check,false);
- }
- var users,ul;
- if(document.querySelector('a[param=word]')) init();