{"id":123,"date":"2008-10-22T14:06:02","date_gmt":"2008-10-22T12:06:02","guid":{"rendered":"http:\/\/www.kristiansborg.dk\/bibliotek\/?page_id=123"},"modified":"2008-10-22T14:06:02","modified_gmt":"2008-10-22T12:06:02","slug":"html-for-dem-der-vil-noget-del-4","status":"publish","type":"page","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/","title":{"rendered":"HTML for dem, der vil noget &#8211; Del 4"},"content":{"rendered":"<p>I denne sidste del af HTML-kurset tager <em>Kristian Hansen<\/em> os med p\u00e5 en tur rundt i en af de nyeste HTML-teknologier: push-teknologien.<\/p>\n<p>Som udtrykket antyder, bliver informationerne ved push-teknologien skubbet ud til brugeren. Det vil sige, at han ikke l\u00e6ngere er n\u00f8dt til at bes\u00f8ge ens side for at se de nyeste opdateringer. B\u00e5de Netscape og Microsoft leverer push-teknologi med deres nyeste browser-pakker. I Netscape sker det gennem programmet NetCaster, mens det i Internet Explorer sker gennem de s\u00e5kaldte Kanaler. Hvordan man kommer til sit programs push-del er beskrevet i tekstbokse andetsteds i artiklen.<\/p>\n<p>Push-teknologien er imidlertid ikke kun mulig ved hj\u00e6lp af HTML. Andre programmer &#8211; som for eksempel Webguidens lysavis og Yahoo&#8217;s newsticker &#8211; bruger den ogs\u00e5 til at bringe de seneste nyheder til brugerens sk\u00e6rm.<\/p>\n<p>I denne artikel vil vi koncentrere os om push-teknologien indenfor HTML. N\u00e5r man har en m\u00e6ngde HTML-dokumenter, og vil distribuere dem via push-teknologien har man en kanal. Brugere har mulighed for at abonnere p\u00e5 en kanal,\u00a0 hvilket vil sige, at kanalens indhold hentes med j\u00e6vne mellemrum, s\u00e5 den nyeste version altid ligger parat p\u00e5 brugerens maskine.<\/p>\n<p><strong>Forskellige standarder<\/strong><\/p>\n<p>N\u00e6sten selvf\u00f8lgeligt har Netscape og Microsoft ikke valgt at impolementere push-teknologi ved hj\u00e6lp af den samme standard. Netscape har valgt at bruge JavaScript, mens Microsoft har valgt at udvikle et nyt sprog: Channel Definition Format (CDF). Denne artikel vil beskrive begge metoder.<\/p>\n<p><strong>Internet Explorer<\/strong><\/p>\n<p>Som n\u00e6vnt bygger Internet Explorers implementation af kanaler p\u00e5 CDF. CDF er bygget p\u00e5 XML &#8211; eXtensible Markup Language. XML er ogs\u00e5 en standard for formatering af dokumenter, men i mods\u00e6tning til HTML er XML bygget til at blive udvidet og specialiseret- for eksempel til specifikation af kanaler.<\/p>\n<p><strong>Opret en kanal<\/strong><\/p>\n<p>For at oprette en kanal, skal man oprette en CDF-fil. Den skal indeholde informationer om kanalen, ikke selve de informationer, brugeren vil se, men informationer, der for eksempel angiver kanalens titel, opdateringsinterval og logo.<\/p>\n<p><strong>De almindelige kommandoer<\/strong><\/p>\n<p>Som det ses af eksempel 1, angives kommandoer i CDF i kantede parenteser, ligesom kommandoer i HTML.<\/p>\n<p>Definitionen af en kanal foretages med channel-kommandoen. Som parametre til den skal base og href angives. Base angiver den adresse, alle \u00f8vrige adresser i kanalen er relative til. Href angiver adressen p\u00e5 de dokument, der skal vises, n\u00e5r kanalen v\u00e6lges. Title angiver kanalens titel, mens abstract er en kort beskrivelse af kanalens indhold. Denne beskrivelse vises, n\u00e5r mark\u00f8ren holdes over kanalens navn.<\/p>\n<p>Hvert item-element angiver et element i kanalen. P\u00e5 den m\u00e5de er det muligt for en udbyder at stille informationer om flere forskellige emner til r\u00e5dighed. Href-parametren i item-kommandoen angiver det dokument, der skal vises, hvis elementet v\u00e6lges, mens title og abstract er henholdsvis sidens titel og resume. Der er ingen begr\u00e6nsning p\u00e5 antallet af item-elementer i en CDF-fil.<\/p>\n<p><strong>Kanalens logo<\/strong><\/p>\n<p>Det er muligt at tilf\u00f8je logoer til s\u00e5vel selve kanalen som de enkelte elementer i den. Det g\u00f8res ved hj\u00e6lp af logo-kommandoen. Den tager to parametre: href, der er adressen p\u00e5 den billede, der skal vises som kanalens logo, og style, der angiver billedets type. Der findes tre forskellige billedtyper: icon har st\u00f8rrelsen 16 x 16, og vises i listen under foretrukne|kanaler i Internet Explorer. Image har st\u00f8rrelsen 32 x 80 og vises i kanalv\u00e6lgeren, mens ImageWide bruges, n\u00e5r kanalv\u00e6lgeren vises i fuldsk\u00e6rm. Bem\u00e6rk ,at logo-kommandoen skal afsluttes med \/&gt;<\/p>\n<p><strong>Organisering af kanaler<\/strong><\/p>\n<p>Hvis man forestiller sig, at oversigten over dagens programmer skal opdeles p\u00e5 de forskellige tv-programmer, kan det g\u00f8res ved at oprette endnu en kanal ved navn Dagens tv-program. Denne kanals elementer er de forskellige tv-programmer &#8211; DR1, DR2 og TV2. Disse elementer angives med item-kommandoen som alle andre elementer. N\u00e5r den indre channel-kommando afsluttes med &lt;\/CHANNEL&gt;, bliver de efterf\u00f8lgende elementer vist som f\u00f8r.<\/p>\n<p>Eksempel 2 viser, hvordan man bruger logoer og underkanaler.<\/p>\n<p><strong>Opdateringstidspunkt og -interval<\/strong><\/p>\n<p>For at den server, HTML-dokumenterne ligger p\u00e5, ikke skal blive overbelastet, er der mulighed for at angive, hvor tit Internet Explorer skal opdatere kanalen ved at hente en ny version af siderne, og ogs\u00e5 at angive et klokkesl\u00e6t, s\u00e5 det ikke falder sammen med det tidspunkt, serveren i forvejen er mest belastet.<\/p>\n<p>Disse tidspunkter angives ved hj\u00e6lp af schedule-kommandoen. Ved hj\u00e6lp af parametrene StartDate og EndDate er det muligt at angive, datoen for den f\u00f8rste og sidste opdateringen af kanalen. Kommandoen IntervalTime kan bruges inden i Schedule-kommandoen, og angiver, det interval kanalen skal opdateres med. Parametren day angiver antallet af dage mellem de forskellige opdateringer.<\/p>\n<p>Kommandoerne EarliestTime og LatestTime angiver start- og sluttidspunktet p\u00e5 den periode, hvor Internet Explorer har lov til at opdatere siden. Begge har de en parameter Hour, der angiver klokkesl\u00e6ttet.<\/p>\n<p>Eksempel 3 viser, hvordan opdateringsinformationer kan s\u00e6ttes.<\/p>\n<p><strong>S\u00e5 abonn\u00e9r dog p\u00e5 min kanal<\/strong><\/p>\n<p>For at f\u00e5 folk til at abonnere p\u00e5 ens kanal, kan man inds\u00e6tte et link til den p\u00e5 sin hjemmeside. Det g\u00f8res ved at lade linket pege p\u00e5 CDF-filen. For eksempel &lt;A HREF = kanal.cdf&gt;Abonn\u00e9r p\u00e5 min kanal!&lt;\/A&gt;<\/p>\n<p><strong>Netscape<\/strong><\/p>\n<p>Netscapes kanaler er mere komplicerede, men alligevel nemme at lave. Kanalerne er komplicerede, fordi de ikke bygger p\u00e5 den relativt simple XML-standard, men i stedet p\u00e5 Netscapes egen JavaScript. Til geng\u00e6ld ligger der p\u00e5 Netscapes hjemmeside en Wizard, der hj\u00e6lper med at lave kanaler. Den findes p\u00e5 adressen <a href=\"http:\/\/developer.netscape.com\/library\/exaples\/index.html?content=netcast\/wizard\/index.htm\">http:\/\/developer.netscape.com\/library\/examples\/index.html?content=netcast\/wizard\/index.htm<\/a>. I denne artikel vil der blive taget udgangspunkt i Netscapes Wizard. Herefter vil de vigtigste dele af Javascript-programmet blive gennemg\u00e5et &#8211; det hele vil foreg\u00e5 p\u00e5 et niveau, hvor ogs\u00e5 folk uden kendskab til Javascript kan v\u00e6re med. Javascript-programmet er ret omfattende, og der har desv\u00e6rre ikke v\u00e6ret plads til at trykke det hele. Derfor er kun den meste interessante del af programmet medtaget i artiklen &#8211; resten ligger p\u00e5 cd-rom&#8217;en.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.kristiansborg.dk\/bibliotek\/wp-content\/uploads\/2008\/10\/wizard.jpeg\" alt=\"P\u00e5 Netscapes hjemmeside findes en wizard, der g\u00f8r det nemt, at oprette sin egen kanal.\" width=\"462\" height=\"331\" \/><\/p>\n<p><strong>Hekseri<\/strong><\/p>\n<p>De f\u00f8rste sp\u00f8rgsm\u00e5l fra i Netscapes Wizard g\u00e5r p\u00e5 generel information om kanalen &#8211; dens navn og dens placering. Dern\u00e6st skal opdateringsintervallet angives. I mods\u00e6tning til Microsofts CDF-standard, angiver Netscapes standard et pr\u00e6cist tidspunkt for opdateringen. Det betyder, at ens server kan blive temmelig belastet p\u00e5 det tidspunkt.<\/p>\n<p>Dern\u00e6st skal guiden have at vide, hvor mange niveauer, der skal downloades. Hvis det kun er hovedsiden, der skal downloades, skal man v\u00e6lge et niveau. Er det ogs\u00e5 de sider, der refereres fra hovedsiden, der skal hentes, skal man v\u00e6lge niveau 2 &#8211; document level plus links. I samme billede kan man angive en begr\u00e6nsning for, hvor mange kilobytes, der maskimalt m\u00e5 downloades.<\/p>\n<p>Nu er man kommet dertil, hvor kanalens type skal angives. Her kan man v\u00e6lge mellem web-top og default window. Web-top svarer lidt til Inernet Explorers Active Desktop, hvor kanalerne kan l\u00e6gges p\u00e5 selve skrivebordet. I Netscape ligges web-top kanaler mellem skrivebordet, og vinduerne. Det betyder, at det er kanalen, der bliver vist, n\u00e5r man minimerer alle andre vinduer, men desv\u00e6rre d\u00e6kker den for de ikoner, der ligger p\u00e5 skrivebordet. Hvis man v\u00e6lger, at kanalen skal vises i default window, vises den i et almindeligt Netscape Navigator-vindue. V\u00e6lges default window, skal ogs\u00e5 vindues st\u00f8rrelse og placering angives. Til sidst bliver man bedt om at skrive den tekst, der skal st\u00e5 ved Netcaster knappen, der giver brugeren mulighed for at abonnere p\u00e5 kanalen.<\/p>\n<p>Til sidst bliver man spurgt, om det er i orden, at guiden automatisk giver Netscape besked om den nye kanal, s\u00e5 de &#8211; eventuelt &#8211; kan til f\u00f8je den til deres oversigt over kanaler.<\/p>\n<p><strong>Programmet<\/strong><\/p>\n<p>N\u00e5r alle sp\u00f8rgsm\u00e5l er besvaret genereres det HTML-dokument, der indeholder Netcaster-knappen og det JavaScript-program, der giver folk mulighed for at abonnere p\u00e5 den. Programmet best\u00e5r af en del forskellige funktioner, der hver udf\u00f8rer en del af arbejdet. Det g\u00e6lder blandt andet kontrol af, at man ikke bruger Internet Explorer, og kontrol af, om Netcaster allerede er startet &#8211; er det ikke tilf\u00e6ldet startes den automatisk.<\/p>\n<p>Den interessante del af programmet starter anden gang, der st\u00e5r &lt;SCRIPT&gt; i dokumentet. Her defineres en r\u00e6kke v\u00e6rdier, der angiver kanalens ops\u00e6tning &#8211; her kan man genfinde alle de information, man gav Netscapes Add Channel Wizard.<\/p>\n<p>chanUrl og chanName angiver henholdsvis kanalens adresse og titel. chanIntervalTime er lidt mere kryptisk. Den angiver, hvor tit kanalen skal opdateres. -2 er hvert kvarter, -3 hver halve time, -4 hver time, -5 en gang om dagen, mens -6 angiver, at kanalen skal opdateres en gang om ugen. V\u00e6rdien af chanAbsoluteTime bestemmer, det klokkesl\u00e6t kanalen skal opdageres p\u00e5. Tidspunktet angives i minutter efter midnat.<\/p>\n<p>chanDepth og chanActive indeholder henholdsvis antallet af niveauer, og et ettal, der angiver, at kanalen er aktiv. chanMode definerer, hvordan kanalen skal vises, og de efterf\u00f8lgende angiver placeringen, hvis et vindue er valgt til at vise kanalen i.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.kristiansborg.dk\/bibliotek\/wp-content\/uploads\/2008\/10\/interval.jpeg\" alt=\"I Netscapes kanaldefinition skal opdateringstidspunkt angives pr\u00e6cist.\" width=\"462\" height=\"331\" \/><\/p>\n<p>De ovenn\u00e6vnte v\u00e6rdier bruges i funktionen addChannelAPI(), hvor de kopieres over i variabler, der sendes til Netcaster, og er kun vist s\u00e5 tidligt i programmet for overskuelighedens skyld. Hvis man vil tilf\u00f8je sine egne v\u00e6rdier, skal \u00e6ndringen derfor foretages i addChannelAPI-funktionen. Skal en beskrivelse af kanalen tilf\u00f8jes, g\u00f8res det ved at inds\u00e6tte linien chan.desc\u00a0 = &#8220;beskrivelse af kanalen&#8221;; Kanalbeskrivelse er ikke underst\u00f8ttet i Netcaster 1.0, men det g\u00f8r ingen skade at have den &#8211; og s\u00e5 er man forberedt til senere opdateringer.<\/p>\n<p><strong>Netscape eller Microsoft? &#8211; Begge dele!<\/strong><\/p>\n<p>Selvom Netscape og Microsoft definerer deres kanaler meget forskelligt, er det, der vises i kanalerne for begges vedkommende almindeligt HTML. Det vil sige, at de samme informationer kan vises i begge browsere, blot skal hver defineres p\u00e5 deres m\u00e5de. Det vil sige, at man skal lave b\u00e5de en CDF-fil og et HTML-dokument med JavaScript. I praksis kan man fint have begge knapper p\u00e5 sin hjemmeside, og s\u00e5 bare bede brugere trykke p\u00e5 den knap, der passer til vedkommendes browser.<\/p>\n<p><strong>Eksempel 1: Et simpelt eksempel p\u00e5 en CDF-fil <\/strong><\/p>\n<p>&lt;?XML VERSION=&#8221;1.0&#8243;?&gt;<\/p>\n<p>&lt;CHANNEL BASE = &#8220;http:\/\/www.fjernsynsinformation.dk\/kanal&#8221; HREF = &#8220;http:\/\/www.fjernsynsinformation.dk\/kanal\/velkommen.htm&#8221;&gt;<\/p>\n<p>&lt;TITLE&gt;Fjernsynsinformation&lt;\/TITLE&gt;<\/p>\n<p>&lt;ABSTRACT&gt;<\/p>\n<p>Dagens tv-program og ugens film og serier.<\/p>\n<p>&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0 &lt;ITEM HREF = &#8220;program.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;TITLE&gt;Dagens tv-program&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Oversigt over programmer, der vises i dag.&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0 &lt;ITEM HREF = &#8220;film.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;TITLE&gt;Ugens film&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Oversigt over film, der vises i l&amp;oslash;bet af ugen.&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>\u00a0 &lt;ITEM HREF = &#8220;serier.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;TITLE&gt;Ugens serier&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Oversigt over de serier, der vises i ugens l&amp;oslash;b.&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>&lt;\/CHANNEL&gt;<\/p>\n<p><strong>Eksempel 2: Logoer og underkanaler i CDF <\/strong><\/p>\n<p>&lt;?XML VERSION=&#8221;1.0&#8243;?&gt;<\/p>\n<p>&lt;!&#8211; Kanal definition &#8211;&gt;<\/p>\n<p>&lt;CHANNEL BASE = &#8220;http:\/\/www.fjernsynsinformation.dk\/kanal\/&#8221; HREF = &#8220;http:\/\/www.fjernsynsinformation.dk\/kanal\/velkommen.htm&#8221;&gt;<\/p>\n<p>&lt;TITLE&gt;Fjernsynsinformation&lt;\/TITLE&gt;<\/p>\n<p>&lt;LOGO HREF = &#8220;\/img\/logo.gif&#8221; STYLE = &#8220;ICON&#8221;\/&gt;<\/p>\n<p>&lt;ABSTRACT&gt;<\/p>\n<p>Dagens tv-program og ugens film og serier.<\/p>\n<p>&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0 &lt;!&#8211; Underkanal &#8211;&gt;<\/p>\n<p>\u00a0 &lt;CHANNEL HREF = &#8220;program.htm&#8221;&gt;<\/p>\n<p>\u00a0 &lt;LOGO HREF = &#8220;\/img\/program.gif&#8221; STYLE = &#8220;ICON&#8221;\/&gt;<\/p>\n<p>\u00a0 &lt;TITLE&gt;Dagens tv-program&lt;\/TITLE&gt;<\/p>\n<p>\u00a0 &lt;ABSTRACT&gt;Oversigt over programmer, der vises i dag.&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;!&#8211; Elementer i underkanalen &#8211;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ITEM HREF = &#8220;dr1.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;LOGO HREF = &#8220;\/img\/dr1.gif&#8221;\/&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 \u00a0\u00a0&lt;TITLE&gt;DR1&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Dagens program p&amp;aring; DR1&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ITEM HREF = &#8220;dr2.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;LOGO HREF = &#8220;\/img\/dr2.gif&#8221;\/&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;TITLE&gt;DR2&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Dagens program p&amp;aring; DR2&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ITEM HREF = &#8220;tv2.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;LOGO HREF = &#8220;\/img\/tv2.gif&#8221;\/&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;TITLE&gt;TV2&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Dagens program p&amp;aring; TV2&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>\u00a0 &lt;\/CHANNEL&gt;<\/p>\n<p>\u00a0 &lt;!&#8211; Elementer i hovedkanalen &#8211;&gt;<\/p>\n<p>\u00a0 &lt;ITEM HREF = &#8220;film.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;LOGO HREF = &#8220;\/img\/film.gif&#8221; STYLE = &#8220;ICON&#8221;\/&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;TITLE&gt;Ugens film&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Oversigt over film, der vises i l&amp;oslash;bet af ugen.&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>\u00a0 &lt;ITEM HREF = &#8220;serier.htm&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;LOGO HREF = &#8220;\/img\/serier.gif&#8221;STYLE = &#8220;ICON&#8221;\/&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;TITLE&gt;Ugens serier&lt;\/TITLE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0 &lt;ABSTRACT&gt;Oversigt over de serier, der vises i ugens l&amp;oslash;b.&lt;\/ABSTRACT&gt;<\/p>\n<p>\u00a0 &lt;\/ITEM&gt;<\/p>\n<p>&lt;\/CHANNEL&gt;<\/p>\n<p>\u00a0<\/p>\n<p><strong>Eksempel 3: Opdateringsinformation i CDF <\/strong><\/p>\n<p>&lt;?XML VERSION=&#8221;1.0&#8243;?&gt;<\/p>\n<p>&lt;!&#8211; Kanal definition &#8211;&gt;<\/p>\n<p>&lt;CHANNEL BASE = &#8220;http:\/\/www.fjernsynsinformation.dk\/kanal\/&#8221; HREF = &#8220;http:\/\/www.fjernsynsinformation.dk\/kanal\/velkommen.htm&#8221;&gt;<\/p>\n<p>&lt;!&#8211; Opdateringsinformation &#8211;&gt;<\/p>\n<p>&lt;SCHEDULE STARTDATE = &#8220;1998-01-01&#8221; ENDDATE = &#8220;1998-12-31&#8221;&gt;<\/p>\n<p>\u00a0 &lt;INTERVALTIME DAY = &#8220;7&#8221; \/&gt;<\/p>\n<p>\u00a0 &lt;EARLIESTHOUR = &#8220;0&#8221; \/&gt;<\/p>\n<p>\u00a0 &lt;LATESTHOUT = &#8220;7&#8221; \/&gt;<\/p>\n<p>&lt;\/SCHEDULE&gt;<\/p>\n<p>.<\/p>\n<p>.<\/p>\n<p>.<\/p>\n<p><strong>Eksempel 4: En kanal i Netscape Netcaster <\/strong><\/p>\n<p>&lt;SCRIPT LANGUAGE=&#8221;JavaScript1.2&#8243;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ For more info on these properties, see http:\/\/developer.netscape.com\/library\/documentation\/netcast\/devguide\/index.html<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanURL = &#8220;http:\/\/www.fjernsynsinformation.dk&#8221;;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanName = &#8220;Fjernsynsinformation&#8221;;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanIntervalTime = -5;\u00a0\u00a0\u00a0\u00a0 \/\/max 1380<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanAbsoluteTime = 60;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanMaxCacheSize = 1024000; \/\/max 5120000 Kb<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanDepth = 2;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/max 2 levels<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanActive = 1;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanWidthHint = 640;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanHeightHint = 480;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanMode = &#8220;window&#8221;;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var chanType = 1;<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var getChannelObject = null;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var addChannel = null;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var nc = null;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var ncActive = 0;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 var poller = null;<\/p>\n<p>\u00a0<\/p>\n<p>.<\/p>\n<p>.<\/p>\n<p>.<\/p>\n<p>&lt;\/SCRIPT&gt;<\/p>\n<p>\u00a0<strong>Yderligere oplysninger <\/strong><\/p>\n<p>Der er mange flere muligheder med kanaler og push-teknologien end det har v\u00e6ret muligt at beskrive her. P\u00e5 f\u00f8lgende Internet-adresser er kanaler, push-teknologi og lignende beskrevet:<\/p>\n<p>CDF<\/p>\n<p><a href=\"http:\/\/www.microsoft.com\/syspro\/technet\/tnnews\/features\/push997.htm\">http:\/\/www.microsoft.com\/standards\/cdf-f.htm<\/a><\/p>\n<p><a href=\"http:\/\/www.microsoft.com\/syspro\/technet\/tnnews\/features\/push997.htm\">http:\/\/www.microsoft.com\/ie\/press\/whitepaper\/pushwp.htm<\/a><\/p>\n<p>XML<\/p>\n<p><a href=\"http:\/\/www.w3.org\/pub\/WWW\/TR\/WD-xml.html\">http:\/\/www.w3.org\/pub\/WWW\/TR\/WD-xml.html<\/a><\/p>\n<p>Netscapes kanaler<\/p>\n<p><strong><a href=\"http:\/\/developer.netscape.com\/library\/exaples\/index.html?content=netcast\/wizard\/index.htm\">http:\/\/developer.netscape.com\/library\/examples\/index.html?content=netcast\/wizard\/index.htm<\/a><\/strong><\/p>\n<p><a href=\"http:\/\/developer.netscape.com\/library\/documentation\/netcast\/devguide\/index.html\">http:\/\/developer.netscape.com\/library\/documentation\/netcast\/devguide\/index.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I denne sidste del af HTML-kurset tager Kristian Hansen os med p\u00e5 en tur rundt i en af de nyeste HTML-teknologier: push-teknologien. Som udtrykket antyder, bliver informationerne ved push-teknologien skubbet ud til brugeren. Det vil sige, at han ikke l\u00e6ngere er n\u00f8dt til at bes\u00f8ge ens side for at se de nyeste opdateringer. B\u00e5de Netscape [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":30,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-123","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Biblioteket | Samling af artikler og b\u00f8ger\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"HTML for dem, der vil noget \u2013 Del 4 | Biblioteket\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2008-10-22T12:06:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2008-10-22T12:06:02+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"HTML for dem, der vil noget \u2013 Del 4 | Biblioteket\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-4\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/#listItem\",\"name\":\"Artikler\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/#listItem\",\"position\":2,\"name\":\"Artikler\",\"item\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/#listItem\",\"name\":\"IT\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/#listItem\",\"position\":3,\"name\":\"IT\",\"item\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-4\\\/#listItem\",\"name\":\"HTML for dem, der vil noget &#8211; Del 4\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/#listItem\",\"name\":\"Artikler\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-4\\\/#listItem\",\"position\":4,\"name\":\"HTML for dem, der vil noget &#8211; Del 4\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/#listItem\",\"name\":\"IT\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#organization\",\"name\":\"Biblioteket\",\"description\":\"Samling af artikler og b\\u00f8ger\",\"url\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-4\\\/#webpage\",\"url\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-4\\\/\",\"name\":\"HTML for dem, der vil noget \\u2013 Del 4 | Biblioteket\",\"inLanguage\":\"da-DK\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-4\\\/#breadcrumblist\"},\"datePublished\":\"2008-10-22T14:06:02+02:00\",\"dateModified\":\"2008-10-22T14:06:02+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#website\",\"url\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/\",\"name\":\"Biblioteket\",\"description\":\"Samling af artikler og b\\u00f8ger\",\"inLanguage\":\"da-DK\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"HTML for dem, der vil noget \u2013 Del 4 | Biblioteket","description":"","canonical_url":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek#listItem","position":1,"name":"Home","item":"https:\/\/www.kristiansborg.dk\/bibliotek","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/#listItem","name":"Artikler"}},{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/#listItem","position":2,"name":"Artikler","item":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/#listItem","name":"IT"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/#listItem","position":3,"name":"IT","item":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/#listItem","name":"HTML for dem, der vil noget &#8211; Del 4"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/#listItem","name":"Artikler"}},{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/#listItem","position":4,"name":"HTML for dem, der vil noget &#8211; Del 4","previousItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/#listItem","name":"IT"}}]},{"@type":"Organization","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#organization","name":"Biblioteket","description":"Samling af artikler og b\u00f8ger","url":"https:\/\/www.kristiansborg.dk\/bibliotek\/"},{"@type":"WebPage","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/#webpage","url":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/","name":"HTML for dem, der vil noget \u2013 Del 4 | Biblioteket","inLanguage":"da-DK","isPartOf":{"@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#website"},"breadcrumb":{"@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/#breadcrumblist"},"datePublished":"2008-10-22T14:06:02+02:00","dateModified":"2008-10-22T14:06:02+02:00"},{"@type":"WebSite","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#website","url":"https:\/\/www.kristiansborg.dk\/bibliotek\/","name":"Biblioteket","description":"Samling af artikler og b\u00f8ger","inLanguage":"da-DK","publisher":{"@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#organization"}}]},"og:locale":"da_DK","og:site_name":"Biblioteket | Samling af artikler og b\u00f8ger","og:type":"article","og:title":"HTML for dem, der vil noget \u2013 Del 4 | Biblioteket","og:url":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/","article:published_time":"2008-10-22T12:06:02+00:00","article:modified_time":"2008-10-22T12:06:02+00:00","twitter:card":"summary","twitter:title":"HTML for dem, der vil noget \u2013 Del 4 | Biblioteket"},"aioseo_meta_data":{"post_id":"123","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-21 06:59:27","updated":"2025-06-04 00:54:23","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kristiansborg.dk\/bibliotek\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/\" title=\"Artikler\">Artikler<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/\" title=\"IT\">IT<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHTML for dem, der vil noget \u2013 Del 4\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.kristiansborg.dk\/bibliotek"},{"label":"Artikler","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/"},{"label":"IT","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/"},{"label":"HTML for dem, der vil noget &#8211; Del 4","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-4\/"}],"_links":{"self":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages\/123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/comments?post=123"}],"version-history":[{"count":0,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages\/123\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages\/30"}],"wp:attachment":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/media?parent=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}