Персонализујте веб странице помоћу ГреасеМонкеи

ГреасеМонкеи је проширење Мозилла Фирефок веб претраживача који омогућава корисницима да модификују веб странице које су посетили док сурфују интернетом. Овај јединствени софтвер омогућава корисницима да персонализују веб странице у складу са својим жељама, побољшавајући или бришући одређене делове странице. Потребно је познавање скриптних језика и програмских језика за писање ГреасеМонкеи скрипти јер садрже елементе из Јавасцрипта, ДОМ-а, ХТМЛ-а, ЦСС-а и КСПАТХ-а. За оне који су заинтересовани за персонализацију веб страница користећи ГреасеМонкеи, цијели приручник за самопомоћ се може бесплатно преузети са интернета заједно са другим корисним ресурсима.

Шта је ГреасеМонкеи?

ГреасеМонкеи је проширење за Фирефок који вам омогућава да подесите на фли веб страницама које посећујете.

То значи да ће променити страницу директно у претраживачу.

На тај начин можете променити све странице било ког сајта по жељи: уклонити ставке које вам се не свиђају, уредити ХТМЛ, додати ХТМЛ код, променити / додати / уклонити јавасцрипт, променити боје, додати функције, повећати или смањите величину табела, образаца итд ...

Пример 1

Ова скрипта ће модификовати странице Киоскеа да би увећала поље за поруке у форумима.

/ / Ова скрипта је у јавном домену.

//

// == УсерСцрипт ==

// @ име КИОСКЕА-Форумс

// @намеспаце ВЕБСИТЕ

// @десцриптион Модифи веб пагес оф ццм

// @инцлуде //ццм.нет/*

// @инцлуде //ввв.цомментцамарцхе.цом/*

// @инцлуде //ввв.цомментцамарцхе.нет/*

// == / УсерСцрипт ==

(фунцтион () {

// Уклања све појаве елемената чији је КСПатх обезбеђен из документа.

//

// Пример: Уклони све табеле које користе ЦСС класу 'тото':

// ремовеЕлемент ("// табле [@ цласс = 'тото']");

фунцтион ремовеЕлемент (ЕлементКспатх)

{

вар аллтагс = доцумент.евалуате (ЕлементКспатх, доцумент, нулл, КСПатхРесулт.УНОРДЕРЕД_НОДЕ_СНАПСХОТ_ТИПЕ, нулл);

за (и = 0; и

{

елемент = аллтагс.снапсхотИтем (и);

елемент.парентНоде.ремовеЦхилд (елемент); // Уклони овај елемент из његовог родитеља.

}

}

// Уклања атрибут из свих појава елемената чији је КСПатх обезбеђен.

// (Сви облици ових елемената су обрађени.)

//

// Пример: Уклоните бгцолор свих

:

// ремовеАттрибутеОфЕлемент ('бгцолор', "// табела [@бгцолор]")

// Уклањање фиксног са свих табела или ћелија ::

// ремовеАттрибутеОфЕлемент ('видтх', "// табле [@видтх] | // тд [@видтх]")

фунцтион ремовеАттрибутеОфЕлемент (име атрибута, ЕлементКспатх)

{

вар аллтагс = доцумент.евалуате (ЕлементКспатх, доцумент, нулл, КСПатхРесулт.УНОРДЕРЕД_НОДЕ_СНАПСХОТ_ТИПЕ, нулл);

за (и = 0; и

аллтагс.снапсхотИтем (и) .ремовеАттрибуте (аттрибутеНаме);

}

// Поставите атрибут од свих појава елемената на специфицирану вредност.

// Претходна вредност овог атрибута се одбацује.

// (Сви облици ових елемената су обрађени.)

//

// Пример: Поставите са до 80 колона на сва подруАја:

// сетАттрибутеОфЕлемент ('цолс', 80, "// тектареа")

фунцтион сетАттрибутеОфЕлемент (име атрибута, атрибутВалуе, ЕлементКспатх)

{

вар аллтагс = доцумент.евалуате (ЕлементКспатх, доцумент, нулл, КСПатхРесулт.УНОРДЕРЕД_НОДЕ_СНАПСХОТ_ТИПЕ, нулл);

за (и = 0; и

аллтагс.снапсхотИтем (и) .сетАттрибуте (атрибутНаме, аттрибутеВалуе)

}

// Убризгајте свој ЦСС на страницу.

// Пример: не подцртајте везу:

// ињецтЦСС ("а {тект-децоратион: ноне;}")

функција ињецтЦСС (цссдата)

{

хеад = доцумент.гетЕлементсБиТагНаме ("хеад") [0];

стиле = доцумент.цреатеЕлемент ("стил");

стиле.сетАттрибуте ("типе", "тект / цсс");

стиле.иннерХТМЛ = цссдата;

хеад.аппендЦхилд (стил);

}

покушати

{

// Увећавање поља поруке сетАттрибутеОфЕлемент ('редови', '40', "// тектареа [@ наме = 'мессаге']");

сетАттрибутеОфЕлемент ('цолс', '120', "// тектареа [@ наме = 'мессаге']");

// У попису дискусија, подебљано смо дискусију која није добила никакав одговор. сетАттрибутеОфЕлемент ('стил', 'фонт-веигхт: болд;', '// тд [тект () =' 0 '] /../ тд [1] / а');

}

улов (е)

{

алерт ("Изузетак корисника: н" + е);

}

}) ();

Најважнији део скрипте је:

 сетАттрибутеОфЕлемент ('редови', '40', "// тектареа [@ наме = 'мессаге']"); сетАттрибутеОфЕлемент ('цолс', '120', "// тектареа [@ наме = 'мессаге']"); 

Ове две линије мењају величину (редове, колоне) текстуалног поља (текстуалног подручја) који се користи за унос порука (идентификовано са именом = "порука").

Користи КСПатх (/ / тектареа ...) да би изабрао елемент за који ће се понашати.

КСПатх је начин да одредите специфичне елементе ХТМЛ странице, али његова употреба није обавезна.

Можете проћи кроз традиционалне ДОМ методе (.ГетЕлементсБиТагНаме (), а затим направити за петљу, итд.).

Пример 2

Ова скрипта такође садржи ову линију:

 сетАттрибутеОфЕлемент ('стил', 'фонт-веигхт: болд;', '// тд [тект () =' 0 '] /../ тд [1] / а'); } 

У области дискусије на форуму, ово ће додати смеле наслове дискусијама на које није одговорено.

Тхе КСПатх:

- Изаберите ћелије табеле које садрже текст "0" (тд [тект () = '0'])

- Врати се на ниво

( / .. )

- Настављамо у првом

и / .. након датума на
ћелија (која садржи наслов) ( / тд [1] )

- Поставили смо подебљане све линкове (/ а) садржане у овоме

.

КСПатх

Неки примери:

- Изаберите све слике: / / имг

- Изаберите све слике без граница: / / имг [@ бордер = '0']

- Изаберите све везе које упућују на Гоогле: / / а [@ хреф = '//гоогле.цом']

- Изаберите Све везе до Гоогле-а и садрже текст "Линк то Гоогле: / / а [@ хреф = '//гоогле.цом' и садржи (., 'Линк то Гоогле')]

- Изаберите све линкове: / / а

- Изаберите само оне слике које воде: / / а / имг

- Изаберите само везе које су директно постављене у ћелију табеле: / / тд / а

- Изаберите само прву везу постављену директно у ћелију табеле: / / тд / а [1]

- Изаберите само последњу везу која је постављена директно у ћелију табеле: / / тд / а [последња ()]

- Изаберите све ћелије табеле које садрже тачан текст "Хелло": / / тд [тект () = 'Здраво']

- Изаберите све ћелије табеле које садрже (негде у тексту) реч "Хелло": / / тд [садржи (., 'Хелло')]

- Изаберите све ћелије табеле почевши са текстом "Хелло": / / тд [старт-витх (., 'Хелло')]

- Изаберите све табеле које садрже ћелију која садржи реч "фоо": / / тд [садржи (., 'Хелло')] /../ .. (Први / .. назад у

)

- Изаберите све ћелије у другој колони табела: / / тр / тд [2]

- Изаберите све ћелије у последњем колони табела: / / тр / тд [последња ()]

- Изаберите ћелије у колонама 1, 2 и 3 табеле: / / тр / тд [поситион () <= 3]

- Изаберите све табеле са најмање једним атрибутом: / / табле [@ *]

- Изаберите све табеле са ширином атрибута: / / табле [@ видтх]

- Изаберите све табеле са ширином од 400пк: / / табле [@ видтх = '400пк']

- Изаберите све ознаке које су директне ћерке ћелије: / / тд / *

- Изаберите све везе које су директно син ћелије: / / тд / а

- Изабери други линк је директни син ћелије: / / тд / а [1]

- Изаберите прву ознаку у ћелији, шта је то: / / тд / * [1]

- Изаберите прву ознаку са атрибутом онлоад: / / тд / * [@ онлоад]

- Изаберите ознаку која је ознака након п у хтмл коду: / / п / фолловинг :: а

- Означите ознаке које су одмах дјевојке означиле п: / / п / а

- Изаберите било који таг који је садржан у ап таг-у (без обзира на дубину) / / п / потомак :: а

- Одаберите све ознаке које су иза п таг-а, али на истом нивоу: / / п / фолловинг-сиблинг :: а

У Фирефок-у можете користити ДОМ Инспецтор да вам помогне да пронађете елементе које желите да изаберете (ЦТРЛ + СХИФТ + И).

Можете користити и проширење да бисте тестирали КСПатх изразе КСПатх.

Утилитиес

Скрипта ццм.усер.јс садржи 4 класе услужних програма који ће вам олакшати живот:

ремовеЕлемент (путања) : уклањање ставке са странице.

ремовеАттрибутеОфЕлемент (номаттрибут Роад) : уклоните атрибут елемента.

с етАттрибутеОфЕлемент (номаттрибут, валуе, патх) : додавање или модификовање атрибута елемента

ињецтЦСС () : убризгајте свој ЦСС у страницу.

Пут је пут КСПатх елемента.

Примери:

ремовеЕлемент ()

 ... 
...

Да бисте избрисали смеће, то би било: ремовеЕлемент ('/ / тд / спан [@ цласс =' цоммент ']');

За брисање ћелије (тд) која садржи ту блаблу: ремовеЕлемент ('/ / тд / спан [@ цласс =' цоммент '] / ..');

Да бисте избрисали све коментаре, чак и ако нису у ћелији табеле, то би: ремовеЕлемент ('/ / спан [@ цласс =' цоммент ']');

ремовеАттрибутеОфЕлемент ()

 ... 
блаблабла
...

Да бисте уклонили величину наведену у овој табели: ремовеАттрибутеОфЕлемент ('видтх', '// табле [@ бгцолор =' # ффе ']');

сетАттрибутеОфЕлемент ()

 ... 
...

Да присили ширину табеле: сетАттрибутеОфЕлемент ('видтх', '100%', '// табела [@ бгцолор =' # ффе ']') ');

ињецтЦСС ()

Да бисте променили подразумевани фонт на веб страници:

ињецтЦСС ('тело (фонт-фамили: Вердана, санс-сериф;)');

Линкови

ГреасеМонкеи Ектенсион: //аддонс.мозилла.орг/фр/фирефок/аддон/748

ГреасеМонкеи Мануал: //дивеинтогреасемонкеи.орг/

Напомена : Писање скрипти ГреасеМонкеи није увек лако (мора садржавати Јавасцрипт, ДОМ, ХТМЛ, ЦСС и КСПатх опционално).

Платипус је Фирефок проширење које омогућава аутоматско генерисање скрипти ГреасеМонкеи:

//аддонс.мозилла.орг/фр/фирефок/аддон/737

Али Платипус има тенденцију да генерише Јавасцрипт код који је прилично спор и гломазан.

Претходни Чланак Sledeći Чланак

Топ Савети