Dimethyltryptamine Skrevet 8. mars 2010 Del Skrevet 8. mars 2010 (endret) Hei, har nettopp begynt og fikle med en Chrome extension, og har litt problemer med at den ikke lagrer options som brukeren setter under alternativer. (Jeg kan ikke nesten ikke en dritt javascript, og har fulgt en tutorial veldig nøye, og endra den så den passer for mine formål.) her er hele greia extension.rar Så vidt jeg kan se så er det her nokså riktig: options.html <html> <head> <title>Language</title> <script type="text/javascript" src="options.js"></script> </head> <body onload="loadOptions()"> <h1>Language</h1> <select id="color"> <option value="no">Norsk</option> <option value="en">English</option> </select> <br /> <button onclick="saveOptions()">Save</button> <br /> <button onclick="eraseOptions()">Restore default</button> </body> </html> options.js var defaultLang = "en"; function loadOptions() { var language= localStorage["language"]; // valid languages are en and no if (language == undefined || (language != "en" && language != "no")) { language = defaultLang; } var select = document.getElementById("lang"); for (var i = 0; i < select.children.length; i++) { var child = select.children[i]; if (child.value == language) { child.selected = "true"; break; } } } function saveOptions() { var select = document.getElementById("lang"); var lang = select.children[select.selectedIndex].value; localStorage["language"] = lang; } function eraseOptions() { localStorage.removeItem("language"); location.reload(); } Men, her er jeg 100% sikker på at det er feil, uten at jeg kan si hva (sikkert alt) Men greia er at når brukeren foreksempel velger norsk under alternativer så skal den hente stuffet fra en annen link, og når man velger engelsk noe helt annet. popup.html <script> var popup = localStorage.language || 'lang'; if (popup == 'en' { ('src', 'http://output75.rssinclude.com/output?type=js&id=80977&hash=7260950496c11811f7ff925935e664c9'); } else if (popup == 'no') { INGEN TING HER }</script> Endret 8. mars 2010 av lordbost Lenke til kommentar
Dimethyltryptamine Skrevet 9. mars 2010 Forfatter Del Skrevet 9. mars 2010 Da har jeg oppdatert koden litt (den fungerer fremdeles ikke) popup.html <script> $(document).ready(function() { var popup = localStorage.language || 'lang'; if (popup == 'en') { ('src', 'http://output75.rssinclude.com/output?type=js&id=80977&hash=7260950496c11811f7ff925935e664c9'); } else if (popup == 'no') { INGEN TING HER } }) </script> Lenke til kommentar
Kaptein Snus Skrevet 9. mars 2010 Del Skrevet 9. mars 2010 Tror kanskje select er reservert ord i javascript, uten å være helt sikker. Du kan jo prøve å endre variabelnavnet Lenke til kommentar
Dimethyltryptamine Skrevet 9. mars 2010 Forfatter Del Skrevet 9. mars 2010 Dette blir bare gjetting men jeg antar at du snakker om dette?: var select = er sikker på at det burde fungere da google har det i eksemplet sitt her: http://code.google.com/chrome/extensions/options.html Men hvis du mener noe annet, så beklager jeg, som sagt så kan jeg veldig lite js Lenke til kommentar
Kaptein Snus Skrevet 9. mars 2010 Del Skrevet 9. mars 2010 (endret) Var den jeg tenkte på ja, hehe! Da tok jeg feil :/ EDIT: <select id="color"> Skal ikke denne isåfall være <select id="lang"> i options.html Regner med at det er den du prøver å hente i options.js under loadOptions() og saveOptions() var select = document.getElementById("lang"); Endret 9. mars 2010 av Lek1 Lenke til kommentar
Dimethyltryptamine Skrevet 9. mars 2010 Forfatter Del Skrevet 9. mars 2010 Vel nå føler jeg meg nokså dum, hehe. Tusen takk for hjelpen nå saver den og alt det. Men får fremdeles ikke til den delen her. <script> $(document).ready(function() { var popup = localStorage.language || 'lang'; if (popup == 'en') { ('src', 'http://output75.rssinclude.com/output?type=js&id=80977&hash=7260950496c11811f7ff925935e664c9' ); } else if (popup == 'no') { INGEN TING HER } }) </script> Jeg nesten helt sikker på at jeg har gjort noe feil her, som man kanskje kan se fra koden, så er det jeg prøver og få til at den skal vise en ting når man har valgt "en" og en annen ting når man har valgt "no" så hvis noen kunne hjulpet meg i riktig retning ville jeg vært veldig takknemlig Lenke til kommentar
Kaptein Snus Skrevet 9. mars 2010 Del Skrevet 9. mars 2010 Denne linja, er det chrome spesifikt, eller prøver du deg på å loade via jQuery? ('src', 'http://output75.rssinclude.com/output?type=js&id=80977&hash=7260950496c11811f7ff925935e664c9'); Så foresten at du mangler semicolon når du avslutter $(document).ready(function() {}); Lenke til kommentar
Dimethyltryptamine Skrevet 9. mars 2010 Forfatter Del Skrevet 9. mars 2010 (endret) Vel, jeg tittet litt på kilde koden til chromemilk: http://code.google.com/p/chromemilk/source/browse/src/popup.html og leste litt her http://julianapena.com/2010/01/how-to-build-a-chrome-extension-part-3-loading-any-web-page-in-a-popup/ (document).ready(function() { var popup = localStorage.popup || 'igoogle'; var frame = document.createElement('iframe'); frame.setAttribute('width', '100%'); frame.setAttribute('height', '100%'); frame.setAttribute('frameborder', '0'); frame.setAttribute('id', 'rtmframe'); if (popup == 'gmail') { // open gmail gadget $('body').height(300).width(200); frame.setAttribute('src', 'http://www.rememberthemilk.com/services/modules/gmail/'); } else if (popup == 'iphone') { // open iphone web app $('body').height(480).width(320); frame.setAttribute('src', 'http://i.rememberthemilk.com/'); } else if (popup == 'mobile') { // open mobile web app $('body').height(300).width(200); frame.setAttribute('src', 'http://m.rememberthemilk.com/'); } else { // igoogle and default $('body').height(400).width(400); frame.setAttribute('src', 'http://www.rememberthemilk.com/services/modules/googleig/'); } document.body.appendChild(frame); }); så det ble vel egentlig til at jeg endra på det til det så ut som det kunne funke. Så foresten at du mangler semicolon når du avslutter Den semicolon'en er her INGEN TING HER } }) Denne linja, er det chrome spesifikt, eller prøver du deg på å loade via jQuery? Her ble det til at jeg gjetta meg fram til at kanskje kom til å virke. for hvis jeg vil ha greie i et html dokument foreksempel så blir det sånn her <script type="text/javascript" src="http://output92.rssinclude.com/output?type=js&id=80976&hash=bd1bd667082975c95192e20927d5a60a"></script> og jQuery har jeg ingen ide hva er. Jeg antar vel egentlig at store deler av popup.html må skrives på nytt, men problemet er da at jeg ikke har noen ide hva jeg må gjøre. Endret 9. mars 2010 av lordbost Lenke til kommentar
Kaptein Snus Skrevet 9. mars 2010 Del Skrevet 9. mars 2010 Så at du brukte $(document).ready(function() {}); Som er jQuerys måte å vite når dokumentet er ferdig lastet jQuery er et javascript framework, du kan lese mer på jQuery.com Har endret en del og zippa det sammen, du kan jo se om det fungerer i det hele tatt. Har ikke så mye peiling på Chrome Extensions Redigert versjon av den i første posten din. extension_edited.zip 1 Lenke til kommentar
Dimethyltryptamine Skrevet 9. mars 2010 Forfatter Del Skrevet 9. mars 2010 (endret) Etter og ha fikla litt med høyden og bredden så ble den nokså bra (må nok endre litt på designet ) Takk for all hjelpen, jeg er veldig takknemlig Endret 31. juli 2011 av LSĐ Lenke til kommentar
Kaptein Snus Skrevet 9. mars 2010 Del Skrevet 9. mars 2010 Bare hyggelig! Lærte litt om chrome extensions så, det var jo bare morsomt Det er bare å inkludere en css fil som styler iframen litt slik at den ikke ser så dull ut, f.eks fjerne scrollbar;) Hvis du skal endre designet på det som er inne i iframen må du nok endre det som kommer fra linken den henter det fra Hvis du vil ha litt forklaring på hva som foregår i koden så bare si ifra 1 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå