/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
"Add to Bookmarks" & "Print Page" scripts ~
Fra : Tommy Ipsen


Dato : 17-08-04 15:21

Hej alle

Jeg er blevet bedt om at lave to funktionaliteter til en webside jeg
administrerer - det er desværre lidt mod min egen overbevisning, da
begge funktionaliteter i forvejen findes i browseren, men jeg skal blot
lave det og bestemmer desværre ikke!

Nr. 1 - Add to Bookmarks / Favorites
Der findes mange af denne slags scripts - men kan man lave noget der
fungerer i flere browsere end IE? Der er noget med AddBookmark() så vidt
jeg husker?

Nr. 2 - Print Page
Dette skal blot fungere som genvej til printer dialog boksen - men igen
må det gerne være noget der fungerer i flere browsere! Er det
PrintPage() der skal bruges?

Hvis I har svaret på ovenstående, gode links, oversigt over kompabilitet
for de forskellige metoder og måske endda en metode der sørger for at de
respektive links kun vises til de browsere der kan finde ud af det, vil
jeg blive meget glad!

Glæder mig til at få lidt input - på forhånd tak!

Mvh Tommy

 
 
Erik Ginnerskov (17-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 17-08-04 16:10

Tommy Ipsen wrote:
> Hej alle
>
> Jeg er blevet bedt om at lave to funktionaliteter til en webside jeg
> administrerer - det er desværre lidt mod min egen overbevisning, da
> begge funktionaliteter i forvejen findes i browseren, men jeg skal
> blot lave det og bestemmer desværre ikke!
>
> Nr. 1 - Add to Bookmarks / Favorites

http://www.hjemmesideskolen.dk/scripts/favorit.asp

Virker kun 100% i MSIE, men der gives anvisning på, hvordan man gør i
Netscape/Mozilla

> Nr. 2 - Print Page

http://www.hjemmesideskolen.dk/scripts/printud.asp

Det virker i alle browsere.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Knud Gert Ellentoft (17-08-2004)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 17-08-04 16:11

Tommy Ipsen skrev:

>Nr. 1 - Add to Bookmarks / Favorites
>Der findes mange af denne slags scripts - men kan man lave noget der
>fungerer i flere browsere end IE? Der er noget med AddBookmark() så vidt
>jeg husker?

Er ikke muligt, det kan kun lade sig gøre i IE.

>Nr. 2 - Print Page
>Dette skal blot fungere som genvej til printer dialog boksen - men igen
>må det gerne være noget der fungerer i flere browsere! Er det
>PrintPage() der skal bruges?

window.print()

Skulle virke i alle nyere browsere.
--
Knud

Tommy Ipsen (17-08-2004)
Kommentar
Fra : Tommy Ipsen


Dato : 17-08-04 19:54

Tommy Ipsen wrote:

Den del med udskrivningen gik jo så væsentligt nemmere end forventet!

Jeg er dog egentlig lidt overrasket over, at det med bookmarks/favorites
kun findes til IE - men sådan er det jo med de dér non-standard ting de
finder på...

Jeg tænkte dog på at lave en alert-boks der fortæller noget i retning af

Denne feature er unik for IE og du bruger en anden browser. Du kan i
stedet bruge Ctrl+D for at tilføje siden til dine bogmærker!

Måske en lidt anden formulering - but you get the idea!

Nu melder der sig jo så to spørgsmål:

1. Hvordan laver jeg en if(not IE) betingelse - er det dén der på
hjemmesideskolens side er betegnet som if(document.all) ?
2. Er tastaturkombinationen Ctrl+D så meget genvej, at det hint giver
mening - eller hvad er der af alternativer?

Mvh Tommy

Jens Gyldenkærne Cla~ (17-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-08-04 20:18

Tommy Ipsen skrev:

> Jeg tænkte dog på at lave en alert-boks der fortæller noget i
> retning af
>
> Denne feature er unik for IE og du bruger en anden browser. Du
> kan i stedet bruge Ctrl+D for at tilføje siden til dine
> bogmærker!

God ide - husk blot at Opera-brugere skal taste Ctrl-T.

> 1. Hvordan laver jeg en if(not IE) betingelse - er det dén der
> på hjemmesideskolens side er betegnet som if(document.all) ?

Et godt råd mht. javascript-tests - test så vidt muligt altid for
de egenskaber du vil bruge i stedet for at teste for egenskaber som
måske antyder browser X eller browser Y.

I tilfældet med bookmarks skal der testes for
window.external.AddFavorite (og den overordnede egenskab
window.external).

Du kan se et fungerende eksempel på siden her.
<http://gyros.dk/usenet/html/bookmark.shtml>.

Scriptet forsøger også med en Netscape-metode at tilføje bogmærker
til Geckobrowsere, men det har jeg aldrig fået til at virke. Men
til gengæld er der fallback, så man får besked om tastaturkoden
(Ctrl-T til operabrugere og Ctrl-D til resten).

Jeg har ikke undersøgt om tastaturkoden er noget andet end Ctrl-D
for andre browsere end Opera.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Tommy Ipsen (17-08-2004)
Kommentar
Fra : Tommy Ipsen


Dato : 17-08-04 21:27

Jens Gyldenkærne Clausen wrote:

> God ide - husk blot at Opera-brugere skal taste Ctrl-T.

Takker - hermed husket - forøvrigt meget sødt, at Opera bruger
Meta-tagget description til bogmærker!

>>1. Hvordan laver jeg en if(not IE) betingelse - er det dén der
>>på hjemmesideskolens side er betegnet som if(document.all) ?
>
> Et godt råd mht. javascript-tests - test så vidt muligt altid for
> de egenskaber du vil bruge i stedet for at teste for egenskaber som
> måske antyder browser X eller browser Y.
>
> I tilfældet med bookmarks skal der testes for
> window.external.AddFavorite (og den overordnede egenskab
> window.external).

Det var præcis dét jeg var ude efter - det virker som en meget bedre
løsning end den oprindelige - meget mere robust - takker!

> Du kan se et fungerende eksempel på siden her.
> <http://gyros.dk/usenet/html/bookmark.shtml>.
>
> Scriptet forsøger også med en Netscape-metode at tilføje bogmærker
> til Geckobrowsere, men det har jeg aldrig fået til at virke. Men
> til gengæld er der fallback, så man får besked om tastaturkoden
> (Ctrl-T til operabrugere og Ctrl-D til resten).

Jeg har bikset lidt med scriptet, da jeg syntes det brugte en lidt
mystisk if-else struktur - det er lavet om til følgende:

function AddBookmark(BookmarkTitle){
   var url = window.top.document.location;
   // Internet Explorer - eller noget andet der understøtter AddFavorite()
   if(window.external && typeof window.external.AddFavorite != "undefined")
      window.external.AddFavorite(url,BookmarkTitle);
   // Opera - eller noget der faker det...
   else if (typeof opera!="undefined")
      alert("Det ser ud til at du bruger Opera.\nTryk Ctrl-T for at tilføje
siden til dine bogmærker.");
   // Gecko-baseret - eller noget der faker det...
   else if (typeof netscape!="undefined") {
      try {
         netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
         var
c=Components.classes["@mozilla.org/browser/bookmarks-service;1"].getService(Components.interfaces.nsIBookmarksService);
         c.addBookmarkImmediately(url,BookmarkTitle,0,"text/html");
      } catch(ex) {
         alert("Det ser ud til at du bruger en Gecko-baseret browser.\nTryk
Ctrl-D for at tilføje siden til dine bogmærker");
         //alert("error:"+ex.description);
         //Interface not supported?
      }
   // En helt anden browser, som vi ikke lige kan fange...
   } else {
      alert("Du bruger desværre en ukendt browser.\nPrøv evt. at tilføje
siden til dine bogmærker vha. browserens menu!");
   }
}

Er der umiddelbart nogle "issues" med ovenstående og er det rigtigt
eller forkert at skrive "Gecko-baseret browser"?

> Jeg har ikke undersøgt om tastaturkoden er noget andet end Ctrl-D
> for andre browsere end Opera.

Det kan være, at der kommer lidt respons fra nogle indehaverere af de
mere eksotiske browsere - ellers lader jeg det ligge ved det her
resultat, som jeg egentlig er ok tilfreds med!

Tak for hjælpen og forklaringerne!

Mvh Tommy

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste