как-то задумался что е ть ряд вещей не всем известные, даже тем, кто пишет скрипты.
захотелось рассказать
1. первая фича больше к тем, кто балуется написанием скриптов. есть частая проблема с обновлением скрипта. скажем браузер не всегда понимает что пользователь хочет поставить более новую версию скрипта и соотвественно чтоб ее поставить несчастному пользователю приходится удалять старую версию и после того ставить новую. где-то как-то случайно узнал и меня пока не подводил такой вариант
в коде скрипта тупо объявлять такую переменную сразу после заголовка скрипта
var version = '0.5';
в последующих версиях достаточно ее менять и браузер будет идентифицировать как новую.
пример
// ==UserScript==
// @name HWM_Custom_Head
…………
// @namespace HWM
// ==/UserScript==
var version = '0.5';
function main(e){
……….
2. вторая версия может быть полезна счастливым любителям хрома — как известно там не все что позволяет класическая мартышка, работает. Часто в таких случаях помогает такой вариант — тупо в теле скрипта сразу после заголовка вставляете следующий код
if (typeof GM_deleteValue == 'undefined') {
GM_addStyle = function(css) {
var style = document.createElement('style');
style.textContent = css;
document.getElementsByTagName('head')[0].appendChild(style);
}
GM_deleteValue = function(name) {
localStorage.removeItem(name);
}
GM_getValue = function(name, defaultValue) {
var value = localStorage.getItem(name);
if (!value)
return defaultValue;
var type = value[0];
value = value.substring(1);
switch (type) {
case 'b':
return value == 'true';
case 'n':
return Number(value);
default:
return value;
}
}
GM_log = function(message) {
console.log(message);
}
GM_registerMenuCommand = function(name, funk) {
//todo
}
GM_setValue = function(name, value) {
value = (typeof value)[0] + value;
localStorage.setItem(name, value);
}
}
говорят что в подавляющем большинстве случаев помогает, сам правда не юзал. но по заверениям обитателей одного форума - работает весьма
==============
ЕЕсли кто еще знает что сказать - не стесняемся