Включване на интерактивност/динамика във WEB страница с помощта на FrontPage2003

In: Програмиране

8 Mar 2009

DHTML (динамичен HTML) включва HTML, client-side скриптов език и CSS (Cascaded Style Sheets), но в това упражнение ще се работи в дизайнерски изглед, без дискутиране на съответния код.

Динамиката във WEB страниците се реализира като се следи за настъпване на някакво събите (Event), свързано с обект от страницата, като ако събитието настъпи се предприема съответното действие (Action).

Примери за обекти и свързани с тях събития, респективно действия:

Обект

Събитие

Име на събитието

Действие

изображение

двоен клик с мишката върху изображението

ondblclick

издаване на звук

текст

позициониране на мишката върху текста

onmouseover

форматиране на текста

текст

натискане на клавиш от клавиатурата

onkeydown

поява на съобщение

Както установяването на настъпило събитие, така и реализацията на съответното действие става посредством програмен код. След като добавите динамични ефекти, в директорията на създавания от вас сайт ще откриете файл с разширение js съдържащ генериран от FrontPage JavaScript код, който реализира откриването на посочените от вас събития и на съответните им действия посредством функции.

В това упражнение ще бъдат използвани само скриптове, предлагани/генерирани автоматично в средата на FrontPage 2003.

При тестване на някои от ефектите в браузер може преди визуализирането на ефекта  да получите съобщение, че от съображения за сигурност има блокирано съдържание в разглежданата страница (определя се от настройката на браузера в Tools/InterentOptions – панел Security) – след натискане на бутон OK в прозореца на съобщението и кликване/щракване с мишката върху жълтата ивица в прозореца на браузера  се получава меню, от което се избира Allow Blocked Content, за да се види заложения от вас ефект.

Препоръчителен дизайнерски подход е да се подхожда пестеливо и да не се претрупва страницата с ефекти – твърде много ефекти биха размили акцента от онази част на съдържанието, която бихте искали да привлече вниманието на посетителя. Някои от динамичните ефекти удължават времето за зареждане на страницата. Важно е страниците, съдържащи динамични ефекти да се тестват в различни браузери, тъй като не всички браузери и не във всяка  от версиите си са в състояние да визуализират ефектите.

1. Елементарни динамични ефекти

Инструментът View/Tollbars/DHTMLEffects cлед избор на обект в страницата дава възможност за избор от падащо меню на настъпило събитие On <Choose an event>, респективно на  съответстващото му действие Apply с възможност за уточняване на различни варианти на проява посредством падащо меню Settings. Съдържанието на падащите менюта се мени в зависимост от избрания обект и съответстващото му действие. С този инструмент не е възможно свързването на един обект с повече от едно събитие, предизвикващо някакво действие. На практика изборът на обект избира тага, с който обектът е включен в страницата и добавя към неговите атрибути информация свързваща най-често име на събитие с името на JavaScript-функция, която го реализира.  Затова ако се избере част от текст, разположен в областта на действие на тага <p>, ефектът се прилага за целия параграф, а не само за избрания текст.

С бутон от тази лента в дизайнерския изглед става видима или се скрива областта на действие на ефекта посредством специфично оцветяване.

Ефект, свързан с избрания обект се изтрива посредством Remove Effect от същата лента с инструменти, ако в дизайнерски изглед сте позиционирани в зоната на действие на ефекта.

Задача 1

  • Създайте нов празен сайт с име Dynamic;
  • В новия сайт създайте страница DynEffects1.htm;
  • В тази страница въведете текст на 2-3 реда, като клавиша Enter натиснете едва в края на въвеждането, за да получите повечко текст, разположен в параграф. Изберете коя да е дума в текста и свържете събитието click (еднократно натискане на ляв бутон на мишката) върху текста с промяна на шрифта (Formatting) по размер, цвят и плътност, както и с добавянето на рамка за текста в цвят, различен от този избран за текста на целия документ;
  • В същата страница добавете изображение по ваш избор от наличните (в директория H:\ex5\touse), за което при събитие Page Load включете ефект Fly In с настройка From Bottom;
  • Проверете как работят ефектите;
  • Изтрийте ефекта, свързан с изображението и добавете нов ефект – при събитието Mouse over – позициониране на мишката върху изображението да се предизвиква действието SwapPicture, като новото изображение да бъде по ваш избор от наличните, но различно от вече използваното по-горе в задачата;
  • Поверете как работят ефектите;
  • Разгледайте в кодов изглед промените, които е направил FrontPage за реализиране на ефектите – освен промените в тялото на html-документа обърнете внимание и на промените в head секцията.

Задача 2

Направете така, че две думи, виждащи се на един ред в прозореца на бараузера, при поставяне на мишката върху всяка от тях (събитие mouseover) тя да се оцветява в различен от другата дума и останалия текст в документа цвят.

Указания:

Използвайте знанията, придобити в упражнението относно различните контейнери (нива, таблици) за обекти – те трябва да се включат в документа на съответното място преди въвеждането на думите.

2. Динамични ефекти, свързани с отварянето/затварянето на страница или сайт

Меню Format/Page Transition предоставя възможности за създаване на динамични ефекти, свързани с настъпване на събитията отваряне на нова страница или сайт, респективно затварянето им. В полето Duration се указва продължителността на ефекта, отчитана в секунди.

Визуализацията на динамични ефекти от този вид (водят до увеличаване на времето за зареждане на страницата) може да се разрешава/забранява от настройките на браузерa – за InternetExplorer това става от меню Tools/InternetOptions, панел Advanced, раздел Browsing, опция EnablePageTransitions.

Задача 3

  • В сайта Dynamic добавете нова страница DynEffects2.htm;
  • Включете в нея изображение от директория H:\ex5\touse. Свържете със събитието отваряне (PageEnter) на страницата DynEffects2.htm в браузера например ефекта Horizontal blinds, а със затварянето й (PageExit) – например Circle in с продължителност на всеки ефект не повече от по 3-4 секунди;
  • В страницата Index.htm (ако нямате такава – добавете я) добавете текстова хипервръзка към DynEffects2.htm, а в страница DynEffects2.htm – текстова хипервръзка към Index.htm;
  • Проверете дали браузерът InternetExplorer е настроен така, че да визуализира ефекти от този вид;
  • Тествайте създадените ефекти;
  • В дизайнерски изглед, на произволно място в отворената за редактиране DynEffects2.htm с десен клик на мишката извикайте контекстно зависимото меню и в подменю PageProperties разгледайте панел Custom.

3. Добавяне на повече действия, свързани с различни събития за обект

По-гъвкав и мощен инструментариум за включване на динамика предлага меню View/Task Pane, след което в панела на задачите от разположеното най-горе в него падащо меню се избира Behaviors (= поведение, като е възможно в момента там да се вижда възможността GettingStarted, а натискане на плътната стрелка отваря падащо меню, от което е достъпна възможността Behaviors).

При избран обект в дизайнерския изглед меню Insert предлага възможности за избор на действие, като следващите стъпки, които дизайнерът трябва да извърши зависят от избраната възможност. На някоя от стъпките се появява табличката Events Actions, като в първата колона при задържане на мишката върху името на събитието (на примера горе е ondbclick) се визуализира плътна стрелка, която дава достъп до падащо меню за избор/смяна на събитието, чието настъпване предизвиква избраното действие.  С този инструмент към един обект могат да бъдат свързани повече от една двойка събитие-действие. Така оформеният списък от двойки събитие-действие може да бъде редактиран чрез добавяне на ново действие от меню Insert на панела със задачите, изтриване на избрана двойка посредством Delete бутона (така се изтрива и обекта от страницата, а не само действието, свързано с него). Десен клик с бутона на мишката върху частта Action на някоя от въведените двойки събитие-действие отваря контекстно зависимото меню, от където също са достъпни възможностите за редактиране. До прозорец за редактиране можете да достигнете и посредством  двоен клик с мишката.

Задача 4

  • Добавете към сайта си нова страница DynEffects3.htm
  • В новата страница наберете някаква дума, към която за следните три събития добавете съответните действия/ефекти:

°         при позициониране на мишката върху думата в Status bar (лентата на състоянието) на браузера да се появява пояснителен текст „върху думата

°         при отместване на мишката от думата – да изчезва текстът от лентата на състоянието

°         при двоен клик с мишката върху думата в лентата на състоянието да се появява (докато мишката след двойния клик е все още върху думата) текста „двоен клик“.

Указания:

Използвайте SetText/SetTextofStatusBar

Задача 5

  • В страницата Index.htm добавете JumpMеnu с две позиции dhtml и dyneffects, така че при избор на позиция от него в нов прозорец на бараузера да се показва съответно съдържанието на файл DynEffects1.htm, респективно – DynEffects2.htm;
  • Тествайте работата на менюто;
  • Добавете нова опция picture на първа позиция в менюто, при избора на която в нов прозорец на браузера да се вижда изображение по ваш избор от наличните.

Задача 6

  • В страницата Index.htm от Insert/InlineFrame включете в страницата си фрейм;
  • В страницата Index.htm (извън фрейма) добавете ново JumpMеnu с две позиции dhtml и pic, така че при избор на първата в InlineFrame да се вижда DynEffects1.htm, а при избор на втората в InlineFrame да се вижда изображение по ваш избор от наличните;
  • Тествайте функционалността на новото меню.

Указания:

За да бъде включен фреймът в списъка с възможни цели (Target) на елемента JumpMеnu изберете NewPage за първоначално визуализиране във фрейма.

Задача 7

В страницата Index.htm към първото JumpMеnu добавете т.н. Go – бутон, така че избраната позиция от менюто да се задейства едва след натискане на бутона, а не веднага след избор в менюто.

Указания:

  • Добавете бутон на подходящо място в страницата от меню Insert/WebComponent/DynamicEffects -> InteractiveButton (или Insert/InteractiveButton);
  • За новия бутон изберете действие JumpMеnuGo, като укажете желаното меню;
  • Изтрийте действието свързано с JumpMеnu, към което сте добавили бутона;
  • Проверете как работи комплектът меню-бутон.

Задача 8

    • В страницата Index.htm посредством меню Insert/Form добавете два бутона и текстово поле. „Оживете” бутоните така, че при натискане на единия в текстовото поле да се появява текста hello, а при натискане на другия на два различни реда в InlineFrame да се появява текста hi, респективно my friend;
    • Проверете действието на бутон Reset за тази форма – ако сте го изтрили – добавете го;
    • Променете действието свързано с първия бутон така, че при натискането му да се отваря URL по ваш избор.

Указания:

Добавянето на текст във фрейма става в рамките на тагове <body> и </body>, като тези тагове също трябва да бъдат включени – т.е. трябва да оформите тялото на малък html документ.

Задача 9

Създайте главно меню с две позиции, като поне за едната позиция добавите още две възможности (кaскадно меню) и използвайте възможностите на FrontPage, за да го направите функционално. Използвайте нива/слоеве (Layers) за поместване на главното и подчинените менюта.

Указания:

  • Създайте нова страница CMenu.htm;
  • Покажете панела на задачите TaskPane и от менюто горe в него вместо Behaviors изберете Layers;
  • Вмъкнете в страницата ниво/слой, в което ще разположите главното меню и именувайте нивото/слоя gmenu (десен клик в TaskPane върху нивото и ModifyID)
  • Разпънете слоя хоризонтално, за да можете да поместите повече от един бутон в него;
  • От меню Insert/WebComponent/DynamicEffects->InteractiveButton вмъкнете два бутона, подходящи за хоризонтално разположено меню и ги именувайте например GM1, GM2;

За създаване на подменю например на бутон GM1изпълнете следните стъпки:

  • Вмъкнете в страницата нов слой под първия бутон (извън първия слой), в който ще разположите подменюто и го наречете SmG1 (десен клик в TaskPane върху нивото и ModifyID)
  • В новия слой от меню Insert/WebComponent/DynamicEffects->InteractiveButton вмъкнете два подходящи за вертикално разположено меню бутона един под друг (използвайте комбинацията Shift+Enter – може би си спомняте, че така се вмъкваше тага <br>, за да преминете на нов ред в слоя след вмъкнат първи бутон), като първия бутон именувайте SM11, а втория – SM12;
  • Направете слоя с главното меню родителски за този с подчиненото меню, като в TaskPane посредством drag and drop технологията с мишката пренесете слоя на подчиненото меню и го пуснете върху този на главното меню (ако се наложи главното меню да се мести в страницата едновременно с него ще се мести и подчиненото);
  • Променете размерите на слоя с подменюто, ако това се налага, за да бъде добре подравнен по границите на съответния бутон от главното меню;
  • Направете от TaskPane слоя SmG1 с подменюто невидим (затворено око в TaskPane) – той ще трябва да се вижда само ако е избран съответния му бутон от главното меню;

За показване на подменюто, когато курсорът премине над бутона GM1 изпълнете следните стъпки:

  • Изберете бутон GM1 като обект, върху който ще се прилага действието и от TaskPane изберете Behaviors. Този вид бутони вече имат свързани с тях действия, които ще се визуализират и предстои добавянето на ново действие от меню Insert/ Change Property;
  • В диалоговия прозорец е избрана опцията Current Element (текущ елемент), какъвто сега е бутон GM1, но желаното действие е свързано с нивото SmG1 – т.е. трябва да бъде избран друг елемент и затова посочете Select Element, при което в полето трябва да се появи тага div за слой. От двата възможни слоя в падащото меню с имена на елементи (ElementID) изберете SmG1 за слоя на подменюто. Натиснете бутон Visibility и в получения диалогов прозорец изберете Visible, след което – бутон OK за затваряне на диалогов прозорец Visibility. Включете поле Restore on mouseout event, за да се възстанови старото положение – когато курсорът напусне бутона подменюто трябва да става невидимо. Натиснете бутон OK за затваряне на диалогов прозорец ChangeProperty;
  • В TaskPane всички досега уточнения за действието (Action) ChangeProperty са съпоставени на събитието (Event) onclick за бутона GM1, което трябва да промените на onmouseover, за да не е необходимо натискането на GM1, за да се види неговото подменю.

Ако тествате резултата в браузер ще забележите, че натискането на бутон от подменюто не е възможно, защото според настройките извършени до сега то трябва да изчезва след напускане на бутон GM1 от главното меню. За да бъде подменюто видимо, когато курсорът е над него изпълнете следните стъпки:

  • Трябва да се избере в дизайнерския изглед нивото на подменюто, за да се сменят неговите свойства, но то е скрито и не се вижда. Налага се да превключите TaskPane в Layers режим или от менюто в горната част на TaskPane, или от хипервръзката Layers в долната част на панела на задачите и в режима Layers от панела на задачите да изберете слоя на подменюто. След това отново превключете към режима Behaviors на панела на задачите;
  • В режима Behaviors изберете Insert/ Change Property;
  • В диалоговия прозорец Change Property изберете Current Element, след което натиснете бутон Visibility;
  • В новия диалогов прозорец изберете Visible и натиснете OK;
  • В диалоговия прозорец Change Property включете Restore on mouseout event, за да осигурите изчезването на подменюто, когато курсора го напусне;
  • Натиснете OK бутона, за да запазите настройките в промяната на свойствата;
  • В режима Behaviors на панела на задачите променете съответното събитие от onclick на onmouseover;
  • Запазете страницата и я тествайте в браузер.

4. Добавяне на аплети

С програмния език Java при използване на подходящи класове-библиотеки се създават програми, които могат да се включват във WEB страници и да бъдат изпълнявани в браузер. Добавянето на такива програмки в HTML документи става посредством тагa applet, в чийто атрибут code трябва да бъде посочен файл с разширение class, а в атрибутите width и height – размерът в пиксели на графичното изображение, което е визуализацията на изпълнявания аплет в прозореца на браузера.

Кода  (source) на java – програмата се записва във файл с разширение java. След компилиране на java-файл се получва class-файл, съдържащ т.н. byte -код. Необходимо е да има интерпретатор за Java byte кода и настройките на браузера да позволяват използването му, за да може да бъде стартиран аплета.

За да e възможно добавянето на аплети в средата на FrontPage трябва да е включена възможността JavaApplets, намираща се в панел Authoring, достъпен от меню Tools/PageOptions.

Добавянето на аплети в средата FrontPage става чрез меню Insert/WebComponent, където от полето ComponentType се избира Advanced Controls и в раздела ChooseAControlJavaApplet, след което се натиска бутон Finish (последните две действия може да бъдат изпълнени едновременно с двоен клик на мишката при избор на Java Applet).

В появилия се прозорец в съответните  полета се указват:

Ø  Applet sorce – името на class – файла;

Ø  Applet basе URL – път до  class – файла;

Ø  Applet parameters – на някои аплети могат да бъдат предавани параметри от потребителя, който след натискане на бутон Add може да добавя двойки от стойности;

Ø  Layout позициониране на аплета в прозореца на браузера;

Ø  Width стойност в пиксели на ширината на аплета (задава стойност на съответния атрибут на тага applet);

Ø  Height стойност в пиксели на височината на аплета (задава стойност на съответния атрибут на тага applet).

Задача 10

  • Разгледайте помощта, която FrontPage предлага по ключовите думи applet insert
  • Проверете дали настройките на FrontPage позволяват включването на аплети;
  • Създайте нова страница Applet.htm;
  • В страницата Applet.htm добавете аплет (използвайте class файла, разположен в директория H:\ex5\touse);
  • Проверете резултата в браузер;
  • Променете позиционирането на аплета в прозореца на браузера и проверете резултата.

Указания:

Изберете възможността Help вместо Behaviors и в полето SearchFor наберете ключовите думи.

No related posts.

3 Responses to Включване на интерактивност/динамика във WEB страница с помощта на FrontPage2003

Avatar

Web 3.0 Семантични мрежи, наследника на Web 2.0 в Интернет » Web Design Optimization

March 13th, 2009 at 20:45

[...] мрежа може да бъде определена като мрежа на „умните” данни, като под „умни” данни се разбират [...]

Avatar

mycarbmw.ru

April 10th, 2010 at 20:43

mycarbmw.ru…

Очень сильно хочется пообщаться с кем-нибудь по обсуждаемому вопросу. Все желающие, в асю 94511375 …

Avatar

Константин

April 11th, 2010 at 05:55

Comment Form

Уеб дизайн информация

В този блог за уеб дизайн можете да намерите много полезна информация ако сте решили да се занимавате с уеб дизайн и програмиране. Също така ще може да срещнете и статии за SEO (search engine optimization) оптимизация. Надяваме се блога да ви допадне и да станете редовни читатли.

  • Vasya: 1... no more [...]
  • Freeman: Hi! Please e-mail me your contacts. I have a question [...]
  • Soviet: Хм........ Ссы [...]
  • Сергей: Спасибо,... [...]
  • Monah: хм... Что то [...]