Greasy Fork

HabrAjax

Cumulative script with over 60 functions for Fx-Opera-Chrome-Safari

当前为 2014-06-02 提交的版本,查看 最新版本

(function(win, u){var alienFrame = /(plusone\.google\.com|userscripts\.org)/.test(location.host)
	,metaTx = !alienFrame && function(s){return(s=
//если Firefox+GreaseMonkey, требуется удалить "/*" перед "<!", чтобы читались многострочные данные!
/*<![CDATA[*//*
// ==UserScript==
// @id HabrAjax
// @name HabrAjax
// @version 129.2014.5.31
// @namespace github.com/spmbt
// @author spmbt0
// @description Cumulative script with over 60 functions for Fx-Opera-Chrome-Safari
// @include http://habrahabr.ru/*
// @include https://auth.habrahabr.ru/settings*
// @include https://plusone.google.com/*
// @include http://userscripts.org:8080/scripts/source/*
// @include http://webcache.googleusercontent.com/search?q=cache:http://habrahabr.ru/*
// @include http://habrastorage.org/
// @include http://legacy.habrastorage.org/
// @include http://hbr/*
// @exclude http://habrahabr.ru/api/*
// @exclude http://habrahabr.ru/special/*
// @update 128 ссылки на хостинг, стили для ufoCorrect;
// @update 127 правки для новой вёрстки раскладки и меню;
// @update 126 аналог ufoCorrect
// @resource meta 121690.meta.js
// @icon data:image/gif;base64,R0lGODlhIAAgAMMBAG6Wyv///2+NtIucstfY2b/FzpSmvY+QkM3Nzunp6fLy8qGwweDg4MbFxa2trrm6uiwAAAAAIAAgAAAE/xDISau9OM/AOe2edoHBBwqiRZodmrKhRLqXYFfrdmLCQBQGWk62swgOiERAQQgChs9iRZBMKDgEFGnbMi4YDMU1gNBytzSJDcGwXhUD4lmqZofFioZrPqMIDARtYksIAzZ8dAINgngJVgkLUH1qBmBuCgmBYA6SUgKBl0wICA6lk1FdAAIFjngKDAgEpKYgWXIcKH8EDQ0EVwmjsrycIA4FZl2rDwcHDgivow8ODwzEHca3ASgDpMylsrEOzdUkDk59AtOl07wIDcwNkDbzCy7z8xIDD8Ps3Q5hCQqscxBHgw0DbEY1WIbEkRtHZV6oMsAq0wNqrcQ4KihR1Z9YjzUeKjjWcYqABUoaJeBY0k8bAm5ItqxgANjFBnBmTgnTQNw0nVOSNBjQLA1QXdEMATVioGnJCAA7
// ==/UserScript==
*/s//]]>
)} // © licensed by LGPLv3 Open Source www.gnu.org/licenses/lgpl-3.0.en.html
,isFxScr = typeof GM_getMetadata !=u //-Scriptish
,readMeta = function(s, isFxScr){ //парсинг многострочного текста по мета-директивам
	if(typeof s !='string') //очистка оболочки функций, выделение мн-стр-комментария
		s = typeof s=='function'
			? ((/\*/.test(function(){/**/}+1) ? s : s(!1) )+'')
					.replace(/(^[\s\S]*\*\/\/\*\r?\n?|\r?\n?\*\/s[\s\S]*$)/gm,'')
			: (typeof s !=u && s!==null && s.toString ? s.toString() :''); //здесь же- 'xml'
	var metaD ={}, j =0;
	if(s==='false'&& isFxScr){ //получать ли данные средствами Scriptish
		metaD = GM_getMetadata();
		for(var i in metaD){ //приведение к нормальному виду
			if(metaD[i].length ==1)
				metaD[i] = metaD[i][0];
			j++;
		}
	}else{
		var meta = s.split('\n'), aa, a2;
		for(var i=0, mL = meta.length; i < mL; i++){
			if(( aa = /^.*?\/\/\s*@([\S]+)\s(\s*)(.*)/g.exec(meta[i]) )){
				a2 = aa[3] !==undefined && aa[3] || aa[2];
				if(metaD[aa[1]]===undefined)
					metaD[aa[1]] = a2;
				else{
					if(