Att programmera AJAX är roligt, men när något går fel är det inte lika kul längre. Den vanliga tracern i .NET går ju inte att köra samtidigt. Sökte lite efter tips hur man kunde felsöka lättare och hittade ScottGu's inlägg om Nikhil's Web Development Helper.
Det handlar om ett suveränt tillägg till Internet Explorer som är till stor hjälp när man felsöker Ajax-applikationer. Läs mer om det hos Nikhil och kolla även in dokumentationen (PDF).
Här visas en funktion för att se om ett land är med i EU. Inparameter är landets ISO-landskod och den returnerar en boolean. Mer information om EU-länderna finns på Europa.eu.
Eftersom lokaliserings-funktionerna i ASP.NET är baserade på kulturer (MSDN:CultureInfo) kan det vara lite knepigt att generera en lista över alla världens länder.
Om man även vill ha dem i bokstavsordning får man se till att sortera dem själv. Jag la till alla länderna som nycklar i en SortedList, eftersom denna typ av datasamling automatiskt sorteras efter värdet i nycklarna.
Jag visar länderna och deras landskoder i en DropDownList som läggs till på .aspx-sidan.
//Skapa en SortedList för att spara alla länderna med tillhörande landskoder SortedList slAddedCountries = new SortedList();
//Skapa en array av CultureInfo från alla kulturer //Vi använder SpecificCultures men NeutralCultures är ett annat alternativ CultureInfo[] arrayAllCultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
try { foreach (CultureInfo ci in arrayAllCultures) {
string country = new RegionInfo(ci.LCID).EnglishName; string countryCode = ci.Name.Substring(3, 2);
if (!slAddedCountries.ContainsKey(country)) { //Spara landets namn som nyckel och landskoden som värde slAddedCountries.Add(country, countryCode); } }
//Lägg till länder som saknas //Cypern slAddedCountries.Add("Cyprus", "CY");
//Loopa igenom SortedList och vi får länderna i bokstavsordning foreach (DictionaryEntry de in slAddedCountries) { Trace.Write("-"+de.Key); DataRow objDataRow = objTable.NewRow(); objDataRow["CountryCode"] = de.Value; objDataRow["CountryName"] = de.Key; objTable.Rows.Add(objDataRow); } } catch (Exception objException) { Trace.Warn("BindCultureSelector() Fel!", objException.Message); } finally {
}
return objTable.DefaultView; }
Här kommer ett del av den html-kod som skapas med de länder som ligger runt Sverige (i bokstavsordning alltså).
Inte helt självklart alltså. Det går säkert att göra på något bättre sätt men detta är den bästa lösning jag kommit på. Annars kan man ju prova med en fristående databas över länder, t ex från GeoNames.
Uppdatering: Märkte att Cypern inte är med i ramverket av någon anledning. Konstigt eftersom landet blev självständigt 1960. Jag har lagt till en extra rad i koden som lägger till Cypern manuellt.
Letar efter en bra flashspelare för att spela upp mp3-filer eftersom vi behöver det till ett projekt.
Gillar verkligen 1 Pixel Out - Audio Player som finns som en tilläggsmodul till Wordpress. Den är lätt att installera och fungerar utmärkt. Det enda jag saknar är en volymkontroll.
Vill man lägga till spelaren på en annan plattform som inte använder Wordpress, går det också bra. Mindy McAdams har skrivit bra instruktioner för hur man går till väga.
Orginalfilerna för spelaren finns att ladda hem på Wordpress Plugin-sajten och det är fritt fram att modifiera den enligt GNU-licensen.
Exempel
Här kommer några exempel på hur spelaren ser ut och fungerar. Mixarna är lånade från vår vän DJ JayStarSeven.
Emellan varven smider vi lite planer på vad vi ska hitta på för kul på Code Odyssey i framtiden. Just nu är det fullt ös att leverera till våra nuvarande kunder. Men en dag planerar vi utveckla en egen spännade tjänst till en större målgrupp.
Vi pratade om det senast idag, vad vore kul att satsa på? Blogghosting är ju väldigt intressant, speciellt eftersom vi i stort sätt redan har en färdigt gränssnitt. Att göra det på större skala kräver ju dock en hel del planering.
Backend Media tipsar om en webbtjänst som heter RobotReplay och erbjuder inspelning av besökarnas musrörelser på dina egna sajter. Grundtjänsten är gratis att använda och kommer förbli det. De meddelar dock i sin FAQ att de kommer släppa en typ av premiumkonto i framtiden som kommer kosta pengar.
Vi har precis lagt in det på denna webbplatsen för att prova på det och det hela fungerar väldigt bra. Efter ha registrerat ett konto och lagt in en rad Javascript så börjar tjänsten att spela in besökarnas musrörelse med en gång. Det tar sedan 10 minuter för sessionerna att dyka upp i gränssnittet på RobotReplay.
Ett perfekt verktyg för att studera hur användarvänlig och lättförstålig din webbplats är.
Obs. Fungerar ej med Snap Preview Anywhere
När jag skulle kolla in den första sessionen så blev det någon bugg på återspelningen. Webbplatsens grafik syntes bara en liten stund och det hela hängde sig när uppspelningen skulle starta. Misstänkte att det hade att göra med en konfikt med något annat skript, och det visade sig stämma. Efter jag stängde av Snap Preview Anywhere fungerade återspelningen av sessionen.
Digg - världens främsta "bokmärkningssajt" i genren teknologi meddelar på sin blogg att de nu lanserar Digg API och Flash application toolkit. Med hjälp av dessa verktyg kan alltså vem som helst utveckla egna applikationer baserat på data från digg som sträcker sig tillbaks till året 2004.
Man annonserar även en tävling där den mest kreativa lösningen baserat på Digg API kommer att belönas med fina priser.
Stamen Design har hjälpt till med utvecklingen. Tidigare har de även levererat experimentella flash-interface till Digg-sajten som man kan beskåda i labbet.
Vi söker efter ett bra sätt att kunna ladda upp flera filer samtidigt till en server. Innan har jag bara hört talas om att det går att göra med komponenter i Java, men nu har jag fått ett nytt tips som verkar väldigt lovande.
Per-Mattias på Paltkoma tipsar om att de själva använder SWFUpload till filuppladdning. Har kollat in demot och det verkar riktigt trevligt.
Det handlar alltså om flash och javascript-baserad uppladdning som visar progress-bar för varje fil man valt. Ifall inte flash finns tillgängligt hos användaren visas istället en klassisk uppladdare i html. SWFUpload är utvecklat av Mammon.