Ինչպես թաքցնել տարրերը HTML- ում: Թաքնված տեքստը JavaScript- ի թաքնված JavaScript կոդի դիտման էջում:

Նկարագիրը Կան իրավիճակներ, երբ դուք չեք ցանկանում միանգամից հանել էջի ամբողջ բովանդակությունը: Օրինակ, բաժնում » ՀՏՀ.«Հանգստացնել հարցերի միայն անունները: Եվ եթե մարդը հետաքրքրված է որոշակի հարցի պատասխանով, նա կարող է պատասխանը բացել, եւ երբ նա հետեւում է, այսուհետեւ փակվում է: Եվ Դրա համար ես պատրաստեցի պարզ Սցենարը JavaScript- ի վրաՁեզ թույլ տալով բացել կամ թաքցնել հատուկ տեքստ (ընդհանուր առմամբ, որոշակի տարրեր), այսինքն Թաքնված տեքստ JavaScript- ի վրա.

Արդյունք. Կտտացրեք հարցի անունը: Եթե \u200b\u200bկրկին սեղմում եք, պատասխանը կրկին կառչած կլինի:

Հարց 1-ին:

Պատասխան համարը 1.

Հարց # 2:

Պատասխան 2 համարը:

JavaScript կոդ (Տեղադրեք պիտակների միջեւ) մի քանազոր):

HTML կոդ (Տեղադրեք պիտակների միջեւ) մի քանազոր):

Հարց 1-ին:



Հարց # 2:


Անկեղծ ասած, դա անհրաժեշտ չէ որեւէ ծրագրի համար, հիմնականում JavaScript- ի ցանկացած կոդ հեշտությամբ նայում է զննարկչի մեջ, եւ, հետեւաբար, ձեր ծածկագիրը թաքցնելու հատուկ պատճառներ չկան: Սա, այսպես ասած, տեսանելի, ինչը չի կարելի թաքցնել: Այնուամենայնիվ, կան տղաներ, ովքեր շատ ամաչկոտ են իրենց ծածկագիրը ցույց տալու համար, հաշվի առնելով, որ այս գույքը չի կարող գողանալ, գրադարաններ ասելով: Դուք ստեղծել եք առցանց ծառայություն, մասնավորապես ստեղծել է հզոր համալիրի գրադարան, որը կատարում է որոշակի գործողություններ, ձեր ծառայության անալոգներ չկա, ձեր գրադարանը չկա, եւ, բնականաբար, չեք ցանկանա տեսնել ձեր սցենարը եւ կարող եք անել ձեր սցենարը Օրինակ, նման, նույնիսկ ավելի լավ: Իհարկե, ոչ մի վատ բան չկա ավելի լավ բան անելը, դա էվոլյուցիան է, բայց բիզնեսի տեսանկյունից մրցակիցները միայն ձեռքով են:

Ինչ է անհրաժեշտ դրա համար:

Ձեզ հարկավոր է միայն հասկանալ ալգորիթմը եւ փորձել բարելավել այն, եւ ես վերամիավորում եմ ձեր փորձը, քանի որ թաքնված գրություններ եմ արել: Առաջին բանը, որ մենք պետք է `առաջադրանքը իրական (տեղական) սերվերի վրա փորձարկելն է, ես դա կանեմ Denwer- ի հետ Տեղական սերվեր.

բայց)Փորձարկման համար սերվերի վրա գրացուցակ ստեղծեք:
Ես շարունակում եմ Վիրտուալ սկավառակ, Ես ունեմ այս սկավառակ r, գնացեք այնտեղ գնալ տան թղթապանակ

Ստեղծեք սցենարի գրացուցակ, եւ ներսում Ստեղծեք www Թղթապանակ, արդյունքում հաջողության կհասնեք. Տուն / սցենար / www / - Դրանից հետո, համոզվեք, որ թարմացրեք սերվերը (վերագործարկեք Denwer)

բ) Ստեղծեք index.php ֆայլ - Օրինակ, սա մերն է Հիմնական էջ Կայքը, եւ այստեղ մենք պետք է հեռացնենք թաքնված գրությունները: Այս գրացուցակում ստեղծեք նաեւ «JS» թղթապանակը:

Մեր առաջադրանքի համար կպահանջվի Ajax- ի պահանջներ, դրա համար կարող եք օգտագործել ձեր ռացիոնալ գործառույթները, բայց եթե ձեր նախագիծը կաճի չափերի, որոնք կպահանջեն հատուկ էֆեկտների, իրադարձությունների, այսպես «JS» թղթապանակի արմատում ավելացրեք JQuery.js:

Այնուհետեւ ստեղծեք նույն թղթապանակում Նոր թղթապանակԱյն սցենարները, որոնք մենք պետք է թաքնվեն, կպահպանվեն դրանում: Ես դա կներկայացնեմ «Անվտանգություն».

մեջ)Մենք հավաքագրում ենք նախադիտման ծածկագիրը Index.php- ում


Ինչպես տեսնում եք, կա բլոկ

PHP- ն ենթադրում է ձեր գրությունները կարդալու դերը, որոնք արգելափակվելու են սերվերի վրա, եւ այն չի կարող կիրառվել դրանց վրա:

Բայց նախ եկեք ստեղծենք մեր գրությունները, որոնք ուզում ենք թաքնվել:


դ) Անվտանգության թղթապանակում ստեղծեք Script1.js եւ Script2.js, համապատասխանաբար, նման բովանդակությամբ.


Օրինակ, դա բավարար է: Հիմա, որպեսզի նրանց հետ կապվենք անհնար է, դուք պետք է այն սերվերի վրա հարցնեք, դա արվում է File.htaccess:

HTACCESS- ը կազմաձեւման ֆայլ է, որը սահմանված է այս սերվերի ծրագրավորողի կողմից:

HTACCESS- ը ունի այդպիսի բովանդակություն.

Դրանից հետո, խնդրանքով.

Դուք կտեսնեք սա.

Այսպիսով, ձեր անվտանգության թղթապանակը թաքնված է աչքերից, դա անհասանելի է:

Եթե \u200b\u200bփորձեք միացնել սցենարները.

Հետո ամեն դեպքում ձեր ֆայլերը չեն կատարվի, քանի որ դրանք աշխարհում թաքնված են սերվերի կողմից

ե)Վերադարձեք ծրագրի PHP բլոկ ինդեքսում .Php

Ներքեւի գիծն այն է, որ PHP- ն ունի սերվերի բոլոր ֆայլերի հասանելիությունը, անկախ նրանից, թե դրանք թաքնված են, թե ոչ, այսինքն, եթե գրանցվեք.


ապա Բ. Այս դեպքը Մենք կտեսնենք մեր թաքնված սցենարի բովանդակությունը:

Այնուամենայնիվ, մեկ այլ սերվերից մեր սցենարի բովանդակությունը չի կարող դիտվել, եւ սխալի հաղորդագրությունը վերադարձվում է 500-ը: Սա մեր ձեռքն է, ուստի այլ կայքեր չեն կարողանա կարդալ մեր թաքնված ֆայլերը:

ե)Այսպես կլինի վերջնական արդյունքը,

Եվ հիմա մենք գործ ունենք, թե ինչպես է այն գործում: jquery- ը կատարում է փոստային հարցումը (սա օգնում է խուսափել ցուցանիշի անցքերից). Php- ի անցքերից) «index.php? Սերվերի «http: / / script» - C Հաշվի առնելով այս օրինակի հաշիվը), ապա սցենարը ստուգում է հետընտրական փոփոխականը, այսինքն `մեր թաքնված սցենարի հասցեն եւ տեքստի արդյունք է տալիս: jquery- ի արված () մեթոդը պատասխան է ստանում այս տեքստի բովանդակության տեսքով, եւ այս տեքստը կարող է վերածվել JavaScript- ի աշխատելու, սա դարձնում է ստանդարտ խաչմերուկի գործառույթը ();

Ի վերջո

Մենք ստանում ենք մեր արդյունքը, մեր սցենարները չի կարելի տեսնել ստատիկ կամ դինամիկ զննարկչի վահանակի միջոցով, բայց հեշտ է տեսնել նրանց աշխատանքը: Այս սցենարներն ու դրանց գործառույթները հեշտությամբ կատարվում են: Այնուամենայնիվ, անհրաժեշտ է լավ մտածել այս տեխնիկան կիրառելու համար, քանի որ այս դեպքում բարձրացվում է կատարման խնդիրը: Գերազանց (կոդ) գործառույթը մեջ է javaScript մշակողները Դա համարվում է չարիք, եւ խորհուրդ է տրվում օգտագործել նոր գործառույթի իր անալոգը («Վերադարձի» + ծածկագիրը), չնայած վերջինս չգիտի, թե ինչպես կարելի է որոշել գործառույթները ներսում, եթե գործառույթի սահմանումը գրանցվի ձեր փոփոխականում , Կոդ \u003d "գործառույթի թեստ () (ահազանգ (1);); Թեստ (); «Կոդը չի կատարվի, ինչը նշանակում է, որ Գիտը () մոտենում է կյանքի բոլոր դեպքերին, ճշմարտությունն ունի իր նրբությունները, որոնք դեռ պետք է կարդալ:

Երբեւէ թաքցնել ձեզ, որպեսզի թաքնվեք օտարերկրացիների ձեր սցենարի էջում, որն իրականացնում է ընտրացանկի անիրատեսական գեղեցիկ տեսքը կամ այլ գործողություններ իրականացնելը, որը դուք չէիք ցանկանա տեսնել յուրաքանչյուր երկրորդ կայքում:
Եթե \u200b\u200bայդպես է, սույն հոդվածում նկարագրված մեթոդը օգտակար կլինի ձեզ համար ծածկագրի վարույթների հետ միասին: Միեւնույն ժամանակ, ես միանգամից վերապահում կկատարեմ, որ մեթոդը 100% չէ, բայց ոչ պրոֆեսիոնալ եւ մասնագետների մասից այն կպաշտպանի:

Տեսություն

Ենթադրենք, մենք ունենք nojs.php էջ, եւ դրա վրա գաղտնիքն է. JS սցենարը, որը պետք է թաքնված լինի: Զննարկիչը եւ օգտագործողը կարող են սերվերից սցենար ստանալ հետեւյալ եղանակներով.
  1. Սցենարը բեռնումը ուղղակիորեն տեղադրված է էջում կամ բեռնված է DOM- ով;
  2. Դիտեք պատուհանում գտնվող սցենարը Էջի աղբյուրի կոդ;
  3. Էջը խնայել բոլոր ֆայլերի կոշտ սկավառակի վրա.
  4. Հասցեների բարում ուղղակի URL մուտք գործելով:
Առաջին դեպքում զննարկիչը անպայման փոխանցում է HTTP HTTP_REFERER- ին:
Երկրորդ եւ երրորդ դեպքում այն \u200b\u200bփոխանցվում է ոչ բոլոր զննարկիչների կողմից (Chrome, Firefox- ը կդարձնի նախկինում ներբեռնված սցենար քեշի կողմից; Օպերան, այսինքն, կրկին բեռնված է սցենարը, բայց առանց հղում ուղարկելու):
Չորրորդ դեպքում հղողը չի փոխանցվում այս չորս զննարկիչներից որեւէ մեկի:
Եթե \u200b\u200bJavaScript- ը դինամիկ կերպով տալիս եք հարցման մեջ հղողի վերնագիրը ստուգելու միջոցով, ապա մենք անմիջապես կպաշտպանենք օպերայից եւ այսինքն, բայց քրտնաջան եւ Firefox- ը ստիպված կլինի ձեռք բերել ինչ-որ բան ձայնագրման համար: Մենք նախ ներբեռնենք մեկ սցենար, որն իր հերթին կբեռնվի մեկ այլ սցենար, մինչդեռ երկու ներլցումները ստուգվելու են HTTP- ի տեղեկատուի համար: Գիտական \u200b\u200bմեթոդը պարզվում է, որ եթե դինամիկ կերպով ստեղծեք սցենար փաստաթղթի վրա: reateeElement էջի վրա («Սցենարի»), այնուհետեւ ջնջեք այն էջից, բայց այն չի աշխատի, բայց այն չի փրկվի:

Պրակտիկա

nojs.php.
Այս էջը նպատակ է հետապնդում ներբեռնել Script1.php
Գտեք JS.
10 վայրկյան հետո դուք պետք է տեսնեք թաքնված սցենարի աշխատանքը Allert- ի տեսքով, կտտացրեք հղմանը ահազանգից հետո, որպեսզի համոզվեք, որ իրադարձությունները չեն ընկել: Այս հղումով կարող եք տեսնել թաքնված սցենարը
script1.php.
Նրա խնդիրն է. Դինամիկորեն ներբեռնեք script2.php, եթե կա հղողի վերնագիր: Ժամանակները կարող են կրճատվել, կախված թաքնված սցենարի մոտավոր ժամանակից:
script2.php.
Նրա խնդիրն է. Տվեք վերջի սցենարը, եթե կա հղողի վերնագիր

Արդյունքները

Արդյունքում մենք ստանում ենք, որ մենք կարող ենք տեսնել էջի բնօրինակ էջում, ոչ էլ ներբեռնեք, ոչ էլ պահեք թաքնված սցենարը փորձարկված չորս զննարկիչների միջոցով: Ընդհանրապես, դուք կարող եք դա տեսնել երկու եղանակով.
  • Գնալ դեպի Script2.php- ի ուղղակիորեն առաջատարը եւ գտնվում է մեր կայքի էջում.
  • HTTP խնդրանքի ձեւավորումը `ուղղորդող վերնագիրը դրանում:
Այս մեթոդներով բարձրացնել թաքստոցի արդյունավետությունը.
  1. Օգտագործելով Mod-ReWrite- ը, փոխարինելով Script1.js եւ script2.js սերվերը դեպի Script1.js եւ Script2.js to script1.php եւ script2.php, համապատասխանաբար, որ էջում կան բոլոր սովորական JS ֆայլերը շտապում է կտրուկ;
  2. Կատարեք գեղարվեստական \u200b\u200bսցենար հնարավորինս բարդ, հավանական եւ շփոթեցնող, որպեսզի նա ապամոնտաժվի նրան, շատ թափվում է իրազեկված իրազեկության մասին:
  3. Վերամշակող ծածկագիր:

Բարեւ, ընթերցող:
Այս փոքր հոդվածում մենք ուզում ենք ձեզ ասել, թե ինչպես պատշաճ կերպով օպտիմալացնել կատեգորիաները առցանց խանութի համար:
Երբ մենք սկսում ենք օպտիմիզացնել տեքստը, դուք առաջին էջը տեղադրեցիք առավելագույն արդիականության համար: Ինչպես դա անել:
Բայց այս իրավիճակում տեղի է ունենում հետեւյալ խնդիրը. Դուք պետք է չափազանց շատ տեքստ ավարտեք, եւ դա չի տեղավորվում կայքի ձեւավորման հետ:
Այսպիսով, դուք պետք է թաքցնեք տեքստի մի մասը օգտագործողներիցԲայց եթե հանկարծ այցելուը ցանկանում է այն կարդալ, որպեսզի նա կարողանա հեշտությամբ բացել այն:

Հետաքրքիր լուծում է իրականացվում «Վարդակ» ինտերնետային հիպերմարկետում: Օրինակ, կատեգորիաներ.

Երբ մենք կտտացնում ենք այս հղումը, այն բացվում է Ամբողջական նկարագրություն Առանց էջը վերագործարկելու: Եթե \u200b\u200bցանկանում եք իրականացնել նույն որոշումը, ապա այն նկարագրված է ստորեւ, թե ինչպես է այն իրականացվում գործնականում:
Այս պահը կարող է լուծվել JavaScript ծրագրավորման լեզվի պատճառով:
JavaScript- ը ի սկզբանե ստեղծվել է վեբ-էջերը «կենդանի» դարձնելու համար:
Վեբ էջը տեղադրելու համար javaScript սցենարներ, դուք պետք է մուտքագրեք նկարագրիչ, Կոդը կարող է տեղադրվել ինչպես վերնագրի մարմնում (պիտակների միջեւ) ) եւ էջի մարմնում (պիտակների միջեւ) ).
Սցենարը աշխատելու համար հարկավոր է ստեղծել գործառույթ, որը կօգտագործվի կայքի ցանկացած մասում: Մենք կօգտագործենք գործառույթի գործառույթը sh ()

Սցենարի գործը ցուցադրելու համար հարկավոր է այն դնել նշված վայրում այս տեսքով:

Կարդալ ավելին ...



Ֆունկցիան Sh () կանչվում է այստեղ:
Լռելյայն թաքնված տեքստը բաց էր կոդի փոփոխության մեջ display ուցադրում. Ոչ մեկը վրա display ուցադրում.

Ահա մի օրինակ, թե ինչ է տեղի ունեցել գործառույթը տեքստին կիրառելուց հետո.

Այս օրինակում էջում թաքնված էին SEO- տեքստի 3000 նիշ, որոնք ուղղագրված էին կայքը խթանելու համար: Երբ կտտացնում եք հղումը ինքնին, «Ավելին ...» հղումը կվերանա, շնորհիվ գործառույթում նշված ոճի ոճին:
Այսպիսով, դուք կարող եք իրականացնել այս ֆունկցիոնալությունը: Եթե \u200b\u200bունեք հարցեր, հարցրեք նրանց մեկնաբանություններում:

The ուցադրման HTML տարրը ցուցադրելու / թաքցնելու ամենապարզ լուծումը `օգտագործելով JavaScript: Մանրամասներ գործընթացի էության եւ դրա առանձնահատկությունների նկարագրությունը:

Սովորական նշանակում է չորացնել (Eng. Թաքցնել) կամ շոու (eng. Ցուցադրում.) Փաստաթղթի HTML տարրը հնարավոր չէ: Դա անելու համար օգտագործեք CSS գույք Ցուցադրում: կամ Տեսանելիություն:, Նրանց միջեւ տարբերությունը դա է Տեսանելիություն:Չնայած դա HTML տարրը անտեսանելի է դարձնում, բայց նրա գրաված տեղը մնում է նրա հետեւում: Հասկանալի է, որ այն շատ ավելի հաճախ օգտագործվում է Ցուցադրում:.

Ցուցադրում: (անգլերենից: ցուցադրել) - բազմակողմանի գույք, որը որոշում է, թե ինչպես է տարրը ցուցադրվելու փաստաթղթում:

Հնարավոր CSS հատկությունների արժեքների ցուցակը Ցուցադրում:, հասկանալով տարբեր զննարկիչների կողմից, հիանալի չէ, բայց սա բավականին բավարար է:

  • արգելք - տարրը ցուցադրվում է որպես բլոկ: Ներկառուցված տարրերի համար այս արժեքի օգտագործումը, ինչպիսիք են Span Tag- ը, պատճառ են դառնում, որ այն պահվի բլոկների պես, այսպես: Թշնամուն տեղի է ունենում բովանդակության սկզբում եւ վերջում:
  • Ներքնաշղթան - Ապրանքը ցուցադրվում է որպես ներկառուցված: Այս արժեքի օգտագործումը բլոկի տարրերի համար, ինչպիսիք են Div Tag- ը, այն պատճառում է, որ այն պահվի ներկառուցված, I.E- ի նման: Դրա բովանդակությունը կսկսվի այն վայրից, որտեղ ավարտվեց նախորդ տարրը:
  • Ցուցակի կետ: - Տարրը ցուցադրվում է որպես բլոկ եւ ցուցակի ցուցիչ ավելացվում է:
  • ոչ ոք - Թաքցնում է փաստաթղթում տարրը: Նրանց կողմից զբաղված տեղը վերապահված չէ, եւ վեբ էջը ձեւավորվում է որպես տարր, եւ ոչ:

Հասկանալի է, որ հատուկ HTML տարրի CSS գույքը փոխելու համար դուք պետք է օգտագործեք գրերի ծրագրավորման լեզուն: Մեր դեպքում դա JavaScript է: Բայց ամեն ինչ կարգին է:

Առաջին հերթին, դուք պետք է որոշեք, թե ինչպես կապվել փաստաթղթի HTML տարրի հետ: Դա անելու համար կարող եք օգտագործել փաստաթղթի օբյեկտի GetelemetByid օբյեկտի մեթոդը, որը հղում է կատարում ID հատկանիշի ID- ի HTML տարրին: Օրինակ:

document.getEleMetByid ("Test")

Այժմ մենք պետք է մուտք ունենանք համապատասխան HTML տարրի ոճի հատկություններ: Սա օգտագործում է ոճային գույք: Օրինակ:

document.getEleMetByid ("Test"): style.display

Մնում է միայն ստեղծել վերահսկողության տարր, որը կփոխանցի CSS գույքի արժեքները Ցուցադրում:, ցանկացած իրադարձության, օրինակ, Onclick (կտտացրեք մկնիկը): Արժե ուշադրություն դարձնել այն փաստի վրա, որ առաջադրանքը լուծելու համար հարկավոր է ստուգել CSS գույքի ընթացիկ արժեքը Ցուցադրում: Եւ փոխեք այն «հակառակ»: Մեր դեպքում թաքնվելու համար մենք կօգտագործենք արժեքը ոչ ոքեւ ցուցադրելու համար «Դատարկ», Երկրորդ դեպքում մենք հեռացնում ենք CSS գույքը Ցուցադրում: Համապատասխան տարում, որը թույլ կտա ճիշտ աշխատել ինչպես բլոկներով, այնպես էլ ներկառուցված HTML տարրերով:

Պարզության համար ես կտամ հետեւյալ օրինակը.

Փոփոխություն

Խնդրում ենք նկատի ունենալ, որ Div Tag- ը էկրանին ունի ոճային հատկանիշ, ոչ մի արժեք: Այս կերպ? Մենք նշում ենք CSS հատկությունների արժեքը Ցուցադրում: Լռելյայն, հավասար ոչ ոք, Սկզբնապես թաքնված կլինի HTML տարրը: