Permalänk
Medlem

BB-Kod-knappar på Prisjakt

Tjenare alla SweClockare!

Jag såg för ett tag sedan någon snubbe som klagade över att många skrev prisjaktlänkar utan något namn så man var tvungen att klicka på dem för att se vilken produkt det rörde sig om. Jag tänkte inte mer på det än att "ja, det hade ju blivit mycket enklare och snyggare, men fan vilket jobb". För ett tag sedan hade jag ett litet projekt i javascript och då slog mig tanken, det borde ju vara rätt lätt att fixa lite knappar med BB-Kod man kan kopiera på Prisjakt.

Så med minimal erfarenhet och mycket hjälp från internet knåpade jag ihop ett litet userscript som lägger till tre gräsliga (åtgärdat i 1.2, tack Gardart) knappar bredvid produktnamnet på varje produkt på Prisjakt. När man klickar på knapparna får man upp en ruta med BB-Kod som man kan klistra in direkt på forumet. En ger produktnamnet som en länk, en ger en bild som en länk, och en ger både produktnamn och bild. Det finns dessutom möjlighet att hämta hela listor som BB-Kod eller hela prisoptimeringar om man så önskar. Det senare kräver dock att man hittar knappen som jag inte lyckades passa in på ett bra sätt i UI:t och fick gömt under butikslistan. Jag lägger en bild på var man hittar den i spoilern nedan.

Dold text

Knapparnas innehåll:
- BB-Kod Länk:
                [URL="http://www.prisjakt.nu/produkt.php?p={produktnummer}"][B]{produktnamn}[/B][/URL]
- BB-Kod Bild:
                [URL="http://www.prisjakt.nu/produkt.php?p={produktnummer}"]
                [IMG]http://s3.pji.nu/product/standard/280/{produktnummer}.jpg[/IMG][/URL]
- BB-Kod Länk och Bild:
                [URL="http://www.prisjakt.nu/produkt.php?p={produktnummer}"][B]{produktnamn}[/B]
                [IMG]http://s3.pji.nu/product/standard/280/{produktnummer}.jpg[/IMG][/URL]
- Lista:
                För invecklat nu, kolla Product-klassen om du är intresserad.

Installera gör man lättast med tampermonkey i chrome eller greasemonkey i firefox (inte testat i ff själv). Det borde även gå att dra och släppa .js-filen i tilläggsfliken i chrome, men det finns viss risk att det inaktiveras då (som det blev med Better SweClockers).

Kom gärna med tips på hur jag kan fixa till koden bättre, jag är som sagt rätt så nybörjare på javascript och har garanterat inte skrivit koden enligt konstens alla regler.

Direktnedladdning
Sida på GreasyFork

Använd koden som ni behagar och ge gärna mig creds om ni mot förmodan skulle tycka den var så fantastisk att ni vill sprida vidare och använda i egna projekt.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem
Skrivet av LemonIllusion:

Lägg till lite styling från prisjakt på knapparna så ser dom genast bättre ut.

input.className = "btn product";

Visa signatur

citera gärna så jag hittar tillbaka!

Permalänk
Medlem
Skrivet av Gardart:

Lägg till lite styling från prisjakt på knapparna så ser dom genast bättre ut.

input.className = "btn product";

http://cl.ly/image/2M081B380B0t/Screen%20Shot%202014-08-20%20...

Tack för den otroligt sympatiska raden! Uppdaterade genast, och det blev ju löjligt mycket snyggare direkt.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
99:e percentilen

Snyggt! Älskar den här typen av funktionalitet! Tycker också det är tråkigt när folk bara slänger in en anonym länk. Det är lätt att avfärda som i-landsproblem när man sitter på 1000/1000 Mbit/s fiber, men sitter man på en långsam surfplatta på en instabil 1 Mbit/s mobiluppkoppling undviker man gärna alla onödiga sidladdningar.

Ska kolla igenom koden på datorn senare, men kan redan nu visa att det ser mindre bra ut på surfplatta, åtminstone iPad:

Har också ett förslag: Skulle du uppskatta om jag integrerar ditt script i Better SweClockers (givetvis med cred, likt knappen för Blargmodes mörka tema)?

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem
Skrivet av Alling:

Snyggt! Älskar den här typen av funktionalitet! Tycker också det är tråkigt när folk bara slänger in en anonym länk. Det är lätt att avfärda som i-landsproblem när man sitter på 1000/1000 Mbit/s fiber, men sitter man på en långsam surfplatta på en instabil 1 Mbit/s mobiluppkoppling undviker man gärna alla onödiga sidladdningar.

Ska kolla igenom koden på datorn senare, men kan redan nu visa att det ser mindre bra ut på surfplatta, åtminstone iPad:

http://i.imgur.com/6LxmBem.jpg

Har också ett förslag: Skulle du uppskatta om jag integrerar ditt script i Better SweClockers (givetvis med cred, likt knappen för Blargmodes mörka tema)?

Hade varit grymt om du fixade det! Tänk att lilla jag ska få vara en del av Better SweClockers.
EDIT: Du får nog fixa till koden lite också, men det antar jag att du redan var införstådd med.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem

Uppdatering 1.3

Nu kan man även hämta hela listor som BBCode. Tack vare detta kan man enkelt dela med sig av listor på ett lättöverskådligt vis och behöver dessutom inte vara rädd för att råka ta bort listan som man kanske hade varit om man länkat den rakt av. Det går tyvärr inte att få ut kategorin om man är i bildläget, men i de andra två fungerar det perfekt.

Här är min lista i sign hämtad genom knappen:

  1. Processor: AMD Phenom II X4 965 Black Edition 3,4GHz Socket AM3 125W Box

  2. Moderkort: Gigabyte GA-990FXA-UD3

  3. Grafikkort (PCI Express): MSI GeForce GTX 760 Hawk HDMI DP 2xDVI 2GB

  4. CPU-kylare: Be-Quiet Dark Rock Pro 2

  5. DDR3-minne: Corsair Vengeance DDR3 PC12800/1600MHz CL9 LP 2x4GB

  6. DDR3-minne: Adata XPG Plus Series DDR3 PC12800/1600MHz CL8 2x2GB

  7. Chassi: Fractal Design Define R4 (Svart)

  8. Datorfläkt: Nexus Real Silent 120mm

  9. Datorfläkt: Fractal Design Silent Series R2 140mm

  10. Solid State-disk (SSD): Crucial MX100 2.5" 7mm 512GB

  11. Operativsystem: Microsoft Windows 8.1 Professional Sve (64-bit OEM)

  12. Bildskärm: Fujitsu P23T-6 Thor Edition

  13. Nätaggregat: Corsair AX860 860W

Förslag på mer funktionalitet uppskattas. Jag har extremt ont om idéer, men är sugen på att lära mig mer javascript.

EDIT: FUNGERAR BARA I EGNA LISTOR FÖR TILLFÄLLET!
Problemet är åtgärdat i 1.4, men bland funktionerna i 1.4 ingår att listor hämtas som tabeller [TABLE] och inte som listor [LIST]. SweClockers 5.0 saknar stöd för [TABLE] så jag inte kan släppa 1.4 förrän vid lanseringen av SweClockers 6.0. :(

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem

Uppdatering 1.4

SweClockers 6.0 står för dörren och jag litar inte på att jag ska komma ihåg att lägga upp version 1.4 imorgon. Nyheterna är:

  • Tabeller [TABLE] iställer för listor [LIST]

  • Det är inte 100% trasigt att hämta produktlistor längre ←fördel

  • Man kan hämta jämförelser på samma sätt som produktlistor

  • Säkert mer, men skriptet har legat färdigt i mer än en månad så något kan ha trillat ur skallen

Det ska bli spännande att se om den här tabellen helt magiskt fungerar som den ska imorgon.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Legendarisk
Skrivet av LemonIllusion:

Det ska bli spännande att se om den här tabellen helt magiskt fungerar som den ska imorgon.

Visa signatur

Abstractions all the way down.

Permalänk
Medlem

Uppdatering 1.5

Nyheter:

  • Prisoptimerade listor med dåligt placerad "Hämta"-knapp

  • Ny copyPopup-ruta som inte går sönder efter 2000 tecken i Chromium

  • Bilder i tabeller

  • Cool ny klass, eller nåt

Tack till @Biberu som möjliggjorde tabellernas utseende.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem

@LemonIllusion:
Varför kommer inte priserna med när jag klickar för att få en lista?

Detta är vad jag får upp

Visa signatur

Min dator: Silent Base 600 | 1700X @ 3.9Ghz | MSI Gaming X 1080TI | RM750X | 512Gb M2 | 16Gb 3200mhz Ram | S34E790C @ 3440x1440
Tjejens dator: Define r4 | i5 3570k @ 4.2ghz | GTX Titan | 750w Supernova | 240gb SSD | 32gb ram
Citera/Tagga för svar!

Permalänk
Medlem

Priser får du bara om du gör en prisoptimering av listan. Lägsta priset brukar vara någon obskyr butik med 7 halvkassa omdömen, så jag byggde min funktion på prisoptimeringen för att man ska kunna välja vilka butiker som ska vara med.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem
Skrivet av LemonIllusion:

Priser får du bara om du gör en prisoptimering av listan. Lägsta priset brukar vara någon obskyr butik med 7 halvkassa omdömen, så jag byggde min funktion på prisoptimeringen för att man ska kunna välja vilka butiker som ska vara med.

BBcode saken kommer inte ens upp när jag har gjort en prisoptimering

Visa signatur

Min dator: Silent Base 600 | 1700X @ 3.9Ghz | MSI Gaming X 1080TI | RM750X | 512Gb M2 | 16Gb 3200mhz Ram | S34E790C @ 3440x1440
Tjejens dator: Define r4 | i5 3570k @ 4.2ghz | GTX Titan | 750w Supernova | 240gb SSD | 32gb ram
Citera/Tagga för svar!

Permalänk
Medlem
Skrivet av Christley:

BBcode saken kommer inte ens upp när jag har gjort en prisoptimering
http://i.imgur.com/AkVNoWx.png

Det brukar innebära att skriptet kraschar. Vet dock inte varför det skulle krascha där. Det är inget jag märkt av och det händer inte för mig. Har du lust att ta en titt i konsolen och se vad felmeddelandet är? F12 och Console-fliken om du kör Chrome.

Jag antar att du kör 1.5.1?

EDIT: Jag lyckades återskapa felet med en likadan lista som din och hittade grunden till problemet. Butiker som inte betalar prisjakt får inga direktlänkar och mitt skript har ytterst liten feltolerans, vilket gör att det kraschar helt när den inte hittar länken. Jag ska slänga in en fix för detta så fort jag kan.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem
Skrivet av LemonIllusion:

Det brukar innebära att skriptet kraschar. Vet dock inte varför det skulle krascha där. Det är inget jag märkt av och det händer inte för mig. Har du lust att ta en titt i konsolen och se vad felmeddelandet är? F12 och Console-fliken om du kör Chrome.

Jag antar att du kör 1.5.1?

Laddade ned från första posten för en vecka sen ungefär så antar det.

Detta är felmeddelandet:

VM302:3 TypeError: Cannot read property 'href' of null at Window.tms_d28b3376_7e69_46e0_b429_768b69ab438c (eval at E_c (:3:114), <anonymous>:250:66) at <anonymous>:2:297 at currURL (eval at E_c (:3:114), <anonymous>:3:1) at eval (eval at E_c (:3:114), <anonymous>:4:3) at Object.eval (eval at E_c (:3:114), <anonymous>:275:6) at <anonymous>:2:297 at Object.E_c (<anonymous>:3:112) at E (eval at exec_fn (:1:108), <anonymous>:56:175) at Object.create (eval at exec_fn (:1:108), <anonymous>:64:282) at z (eval at exec_fn (:1:108), <anonymous>:13:88)

Visa signatur

Min dator: Silent Base 600 | 1700X @ 3.9Ghz | MSI Gaming X 1080TI | RM750X | 512Gb M2 | 16Gb 3200mhz Ram | S34E790C @ 3440x1440
Tjejens dator: Define r4 | i5 3570k @ 4.2ghz | GTX Titan | 750w Supernova | 240gb SSD | 32gb ram
Citera/Tagga för svar!

Permalänk
Medlem
Skrivet av Christley:

Laddade ned från första posten för en vecka sen ungefär så antar det.

Detta är felmeddelandet:

VM302:3 TypeError: Cannot read property 'href' of null at Window.tms_d28b3376_7e69_46e0_b429_768b69ab438c (eval at E_c (:3:114), <anonymous>:250:66) at <anonymous>:2:297 at currURL (eval at E_c (:3:114), <anonymous>:3:1) at eval (eval at E_c (:3:114), <anonymous>:4:3) at Object.eval (eval at E_c (:3:114), <anonymous>:275:6) at <anonymous>:2:297 at Object.E_c (<anonymous>:3:112) at E (eval at exec_fn (:1:108), <anonymous>:56:175) at Object.create (eval at exec_fn (:1:108), <anonymous>:64:282) at z (eval at exec_fn (:1:108), <anonymous>:13:88)

Tack för hjälpen! Om du uppdaterar till 1.5.2 nu borde problemet vara löst.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem
Skrivet av LemonIllusion:

Tack för hjälpen! Om du uppdaterar till 1.5.2 nu borde problemet vara löst.

Tack så mycket för fixen!
Dock får jag fortfarande inget pris. detta är vad som visas:

Visa signatur

Min dator: Silent Base 600 | 1700X @ 3.9Ghz | MSI Gaming X 1080TI | RM750X | 512Gb M2 | 16Gb 3200mhz Ram | S34E790C @ 3440x1440
Tjejens dator: Define r4 | i5 3570k @ 4.2ghz | GTX Titan | 750w Supernova | 240gb SSD | 32gb ram
Citera/Tagga för svar!

Permalänk
Medlem
Skrivet av Christley:

Tack så mycket för fixen!
Dock får jag fortfarande inget pris. detta är vad som visas:

Du använder nog knappen där uppe istället för den i själva listan. Se trådstarten för en bild på hur jag menar. Den är inte helt uppenbart placerad.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem
Skrivet av LemonIllusion:

Du använder nog knappen där uppe istället för den i själva listan. Se trådstarten för en bild på hur jag menar. Den är inte helt uppenbart placerad.

Tack, fungerar i firefox iaf. Kan inte testa chrome eftersom jag inte är på jobbet.

Visa signatur

Min dator: Silent Base 600 | 1700X @ 3.9Ghz | MSI Gaming X 1080TI | RM750X | 512Gb M2 | 16Gb 3200mhz Ram | S34E790C @ 3440x1440
Tjejens dator: Define r4 | i5 3570k @ 4.2ghz | GTX Titan | 750w Supernova | 240gb SSD | 32gb ram
Citera/Tagga för svar!