Kom ihåg mig?
Home Menu

Menu


AJAX - var börjar jag nysta?

 
Ämnesverktyg Visningsalternativ
Oläst 2007-01-03, 17:05 #11
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Ok, jag har ju inte kikat på vad det är och jag förstod inte att det var tjänster där du inkluderade andras tjänster på din sida det handlade om.

Ja, jag vet ju fortfarande inte vilka objekt de använder för att prata med servern, men jag har själv använt "XMLHttpRequest()" i FireFox och får då ett exception om jag inte går mot samma host som sidan ligger på.

Jag säger inte att det inte funkar, bara att det kanske inte funkar för alla klienter.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-03, 17:09 #12
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
Om en sida på domän A inkluderar ett javascript från domän B. Kan då javascriptet använda XMLHttpRequest och hämta data från en sida på domän B? I så fall kan det vara så de har löst det.
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-07, 09:49 #13
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
Det verkar vara flera annonssystem som hämtar in data från externa servrar. Exempelvis adsense. Där inkluderar man bara ett javascript och annonserna hämtas in från googles servrar. Hur fungerar det? Jag har har också sätt att det finns ett annonssystem som gör vissa nyckelord klickbara. När man för musen över ett sådant ord hämtas data in om annonsören och visas för besökaren.

Jag har en känsla av att det är möjligt att hämta in data från en extern server. Frågan är bara hur man gör? :-)
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-08, 08:02 #14
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Du kan hämta data med Ajax från externa servarar, kallas för en cross-domain request. Dock så kan du inte använda XMLHTTPRequest för detta utan måste göra anropet via te.x. en IFRAME istället.

Skapa IFRAMEN med javascript sätt dess onLoad handler till att peka mot en lämplig javascript funktion och sätt sedan src värdet för att hämta sidan. När sidan är färdigladdad så anropas funktionen du satte i onLoad.

Finns säkert bibliotek som kommer med denna funktionaliteten färdig. Om du vill börja förstå koncepten i Ajax så kan du titta på sajax (http://www.modernmethod.com/sajax/). Rätt så tajt skrivet bibliotek.
Weaver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-08, 09:43 #15
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
Citat:
Ursprungligen postat av Charlie
50kb för ett framework som ger en lite syntetiskt godis vid kodning

Lite för onyanserat påstående för att jag ska hålla med. Många av ramverken, inkl Prototype, må vara ganska feta kodmässigt men sitter du och skapar mer avancerade applikationer vinner du massor på att använda ett ramverk. Både i snabbare och mer kvalitativ utveckling samt enklare underhåll. Strippar och komprimerar du sedan js-libbarna korrekt så är det inte alls någon overhead att tala om. Gör man ett enstaka anrop eller någon enstaka effekt på en webbsida kan jag hålla med om att de är lite tunga. Då finns det andra alternativ. Det finns dock många som jobbar med webbsiter och projekt där dessa ramverk fyller sin syfte.

Citat:
Ursprungligen postat av Charlie
Edit2: Har hört talas om att det ska finnas liknande för PHP, men har aldrig testat något.
Jag gjorde lite tester och skapade ett sådant ramverk för PHP för snart ett år sedan som finns beskrivet på http://www.dotvoid.com/view.php?id=35 och http://dotvoid.com/garage/toxicexamples/ men. Det var bara tester och det finns en uppdaterad version som fungerar betydligt bättre med mindre manuellt kodande men tyvärr är det inte publikt. Det tillåter i alla fall att man instansierar PHP-klasser som javascript-objekt. Anrop mot metoder i javascript-objekten omvandlas i bakgrunden till riktiga anrop på motsvarande instansierade PHP-objekt.

Fram till dess att javascript får pålitligt stöd för continuations blir det dock aldrig riktigt intressant. Det är trist med alla callbacks. (Jag vet att det finns mer eller mindre meckiga workarounds for continuations.)
dotvoid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-08, 12:40 #16
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
Weaver: Funkar IFrames i alla browsers? Vet du om det går att positionera en IFrame vart som helst på en sida, dvs som ett vanligt lager?

dotvoid: vad finns det för verktyg för att strippa och komprimera ett javascript? helst ett som döper om funktioner och variabler så att de blir så korta som möjligt.
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-08, 12:49 #17
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Citat:
Originally posted by Blackex@Jan 8 2007, 13:40
Weaver: Funkar IFrames i alla browsers? Vet du om det går att positionera en IFrame vart som helst på en sida, dvs som ett vanligt lager?
IFrames fungerar i alla moderna webbläsare.

Du ska inte positionera den. Sätt den som hidden istället.
#iFrame {
visibility: hidden;
height: 1px;
}
Weaver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-08, 13:01 #18
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
Hidden? Varför? Är det för att jag skall slippa skapa en ny hela tiden, dvs så att jag kan återanvända den?

Min tanke är alltså att dynamiskt hämta innehåll från en extern sida. När man för musen över en viss länk så skall innehållet dyka upp i en liten ruta precis bredvid länken. Innehållet skall bero på innehållet i url:en.

Så här verkar man kunna lösa det:

Dels behöver jag ett javascript som kollar av vilka länkar på sidan som skall trigga "popup-lagret". Koden för det är i princip klart.

Sedan har jag tänkt att jag då (vid triggern) dynamiskt (med javascript) skapar en iframe med en src-url till den externa servern, med orginal url:en som argument. Iframen positionerar jag så att den dyker upp precis vid länken.

På server sidan tas url:en emot och baserat på url retuneras rätt innehåll.

På detta sätt verkar jag inte ens behöva ajax... Men jag är inte helt säker på att min lösning fungerar i alla browsers etc.
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-08, 13:39 #19
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
För att förtydliga. Det är alltså någonting liknande som detta jag är ute efter.
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-01-08, 13:47 #20
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Aaah, trodde bara du skulle använda IFramen för att kommunicera. Därför sa jag att du skulle sätta den som hidden för att den skulle vara osynlig för användaren.

Trodde nämligen att du skulle göra popupen med en absolut-placerad div
Weaver är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 18:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017