Saturday, January 23, 2010

Firefox - Greasemonkey

См. Обзор: Firefox - Greasemonkey
См. также Firefox 3.6

У меня установлены следующие скрипты.
Facebook RTL - можно писать справа налево в Facebook. Единственный скрипт, не взятый с сайта http://userscripts.org/
YousableTubeFix - позволяет кастемизировать как выглядит сайт Youtube.
TheMarker TalkBack Stripper - убирает TalkBack-и с сайта TheMarker. Там же можно найти подобные скрипты для ynet и др.

Далее, идут скрипты, для работы в блоггере Google blogspot.com
Blogger Advanced Comment Editor - при написании комментария к любому посту на любом блоге Google, добавляет к форме комментария кнопки, кнопку b, кнопку i и кнопку insert link.
Blogger SPAN Pollution Reducer - при написании поста, кнопка b будет вставлять HTML таг <B>, кнопка i будет вставлять HTML таг <I> вместо SPAN.
Blogger Current Time Publish - при написании поста, внизу добавляет кнопка PUBLISH NOW. Она меняет время поста на текущее время перед публикацией.
Blogger Large Post Editor - при написании поста, увеличивает в размерах форму.
Find images that are too wide - после написания поста, проверяет, что загруженные в нём картинки "не сводят с ума" блог.

UPDATE: Скрипт Blogger Current Time Publish был мной модифирован. Я заметил, что часы на сервере Blogger отстают на 9 минут, ниже приведён модифированный скрипт.

UPDATE 09-06-2011: Вроде бы часы на Blogger идут сейчас точно. Это модификация не нужна.
END OF UPDATE.


Файл blogger_current_time_pub.user.js
Ниже есть продолжение.


// ==UserScript==
// @name Blogger Current Time Publish
// @namespace http://fatknowledge.blogspot.com/
// @description v 1.04 Add a "Publish Now" button that will set the time to current time before publishing
// @include http://www.blogger.com/post-edit.g*
// @include http://www.blogger.com/post-create.g*
// ==/UserScript==

/*

Author: Fat Knowledge fatknowledge@gmail.com
Date: 2008-08-20

*/

var pubButton, pubTimeButton;
pubButton = document.getElementById('publishButton');
if (pubButton) {
//create new "Publish Now" button
pubTimeButton = document.createElement('div');
pubTimeButton.innerHTML="\x3ca id\x3d\x22publishNowButton\x22 class\x3d\x22cssButton\x22 href\x3d\x22javascript:void(0)\x22 onclick\x3d\x22var e \x3d document[\x26#39;stuffform\x26#39;].publish;(e.length) ? e[0].click() : e.click();\x22\x3e\x3cdiv class\x3d\x22cssButtonOuter\x22\x3e\x3cdiv class\x3d\x22cssButtonMiddle\x22\x3e\x3cdiv class\x3d\x22cssButtonInner\x22\x3ePublish Now\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3c/a\x3e";

/*
Javascript encoding
" \x22
& \x26
> \x3c
= \x3d
< \x3e
*/

// old version
// pubTimeButton.innerHTML="<div id\u003d\"publishButton\" onclick\u003d\"var e \u003d document['stuffform'].publish;(e.length) ? e[0].click() : e.click();\" class\u003d\"ubtn ubtn-left\"> <div class\u003d\"i\"> <div class\u003d\"t\"><div> </div></div> <a href\u003d\"javascript:void(0)\" onclick\u003d\"return false;\" tabindex\u003d\"7\"><span>Publish Now</span></a> <div class\u003d\"b\"><div> </div></div> </div> </div> <input style\u003d\"position:absolute; display:block; width:0; padding:0; z-index:-1; border:none; top:-5000px; left:-5000px\" name\u003d\"publish\" value\u003d\"true\" type\u003d\"submit\" id\u003d\"publishButton-hidden\" tabindex\u003d\"-1\">";

//when clicked, run set_time_now, then do the normal publish call (in innerHTML code above)
pubTimeButton.addEventListener('click', function(event) {
set_time_now();
}, true);

//add the Publish Now button after the Publish button
//isn't javascript syntax frickin' intuitive?
pubButton.parentNode.insertBefore(pubTimeButton, pubButton.nextSibling);
}


//alexsmail: I don't know why, but blogger's clock are 9 minutes back
function get_current_date(){
var now=new Date();
var time = now.getTime();
time=time-9*60*1000; //going 9 minutes back
var d = new Date(time);
return d;
}

//Set Publish Date Time to current time in form 01/14/2007 7:00PM
function set_time_now(){
var now = get_current_date(); //new Date();

var date_input = document.getElementById('date-input');
date_input.value = (now.getMonth()+1)+"/"+now.getDate()+"/"+now.getFullYear();

var hours = now.getHours();
var ampm = "AM";
if (hours > 11)
ampm = "PM";
if (hours > 12)
hours -= 12;
if (hours == 0) hours = 12;

var time_input = document.getElementById('time-input');
time_input.value=hours+":"+now.getMinutes()+" "+ampm;

}

No comments:

Post a Comment