Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: TradeDoubler-koodi - mitä järkeä?

Sivun loppuun

pistemies [21.04.2007 19:58:07]

#

Onko tässä tradeboublerin javascript-koodissa mitään järkeä:

 <script type="text/javascript">
 var uri = 'http://impfi.tradedoubler.com/imp?type(js)pool(194716)a(1365109)' + new String (Math.random()).substring (2, 11);
document.write('<sc'+'ript type="text/javascript" src="'+uri+'" charset="ISO-8859-1"></sc'+'ript>');
</script>

Tätä rupesin ihmettelemään, kun validaattori moitti tuota "sc" tagia. Miksi ihmeessä pitää laittaa

'<sc'+'ript

Onko tuossa jokin idea, kun ei ole laitettu suoraan

'<script

Ja haluan kysyä, toimiiko tuo mainosjuttu, jos korjaa tuon?

Blaze [21.04.2007 20:09:33]

#

Pekka Mansikka kirjoitti:

Miksi ihmeessä pitää laittaa

'<sc'+'ript

Onko tuossa jokin idea, kun ei ole laitettu suoraan

'<script

En tiedä tuosta alotusgista, mutta lopetustagi on katkaistu, ettei tyhmät selaimet luule, että se oikea script-elementti loppuu siihen kohtaan.

pistemies [21.04.2007 20:24:16]

#

Ilmeisesti tuo on tuon takia pakko tehdä noin. Vähän keplottelua.
Olisiko siihen javascriptin puolella mitään funktiota, joka hoitaisi sen asiallisemmin?

Grez [21.04.2007 22:25:55]

#

En kyllä todellakaan näe tuossa sinänsä mitään ongelmaa. Ongelmahan on validaattorissa, ei sillä pitäisi olla mitään syytä valittaa tuosta.

Voisihan tuon varmaan muutta muotoon

document.write('\x3csc'+'ript type="text/javascript" src="'+uri+'" charset="ISO-8859-1">\x3c/sc'+'ript>');

Näin se älyvapaa validointiscripti ei luulisi noita html-tageiksi.

Antti Laaksonen [21.04.2007 23:00:57]

#

Pekka Mansikka kirjoitti:

Ja haluan kysyä, toimiiko tuo mainosjuttu, jos korjaa tuon?

Luultavasti toimii huonommin eri selaimilla. Jos selain ei ymmärrä skriptiä ja vastaan tulee merkintä "</script>", selain ei voi mitenkään tietää, loppuuko skripti tähän vai onko kyseessä pelkkä skriptin sisällä oleva merkkijono.

Grez [21.04.2007 23:27:46]

#

No se kyllä riippuu miten sen "korjaa", eli esimerkiksi tuon mainitsemani esimerkin tyylillä "korjattuna" ei ole mitään vaikutusta toimivuuteen.

Laitoin korjaamisen lainausmerkkeihin, koska itse koodissa ei ole mitään vikaa, mutta tässä nyt yritetään saada validaattori "toimimaan"

Antti Laaksonen [21.04.2007 23:34:21]

#

Joo, viittasin alkuperäiseen "korjaukseen", jossa tagi kirjoitettaisiin vain sellaisenaan.

pistemies [22.04.2007 18:59:39]

#

Jes. Eri asia mitä pidää tärkeänä. Minusta validaattorin hyväksymys on tärkeämpi kuin pelkästään se, että skripti toimii. Jos validaattori moittii, vika on skriptissä, ei validaattorissa.
Tässä kuitenkin lyhyempi ehdotus.

<script type="text/javascript" src="http://impfi.tradedoubler.com/imp?type(js)pool(194716)a(1365109)' + new String (Math.random()).substring (2, 11);" charset="ISO-8859-1"></script>

Ainkakin testissä tämä toimii. En ole vielä kokeillut, mitä validaattori sanoo.

Edit: No niin. Testattu on ja validaattori ei moiti tätä minun korjausta tippaakaan.

Grez [22.04.2007 19:37:54]

#

Pekka Mansikka kirjoitti:

Jes. Eri asia mitä pidää tärkeänä. Minusta validaattorin hyväksymys on tärkeämpi kuin pelkästään se, että skripti toimii. Jos validaattori moittii, vika on skriptissä, ei validaattorissa.

Siis olet ihan tosissasi sitä mieltä, että kun validaattorissa on bugi, niin se on sen bugin esiin tuovan validoitavan materiaalin vika?

Itse olen sitä mieltä, että jos koodi on validia, niin sillä ei ole mitään merkitystä mitä validaattori siitä sanoo.

Jos kerran tuon skriptin toimiminen ei ole olennaista, niin eikö olisi järkevämpää jättää koko skripti pois?

Jos nyt kuitenkin haluat että se menee siitä validaattorista läpi, etkä halua tehdä aikaisemmin antamani esimerkin mukaan, vaan haluat tehdä tuollaisen muutoksen että siihen ei tule satunnaista merkkijonoa (jolloin se ei lataa joka kerta skriptiä uudelleen) niin suosittelisin ehkä ennemmin laittaman sen sitten näin:

<script type="text/javascript" src="http://impfi.tradedoubler.com/imp?type(js)pool(194716)a(1365109)" charset="ISO-8859-1"></script>

Turhaa tuota ylimääräistä roskaa pitää siellä src-parametrin lopussa.

pistemies [22.04.2007 19:48:22]

#

Grez kirjoitti:

Siis olet ihan tosissasi sitä mieltä, että kun validaattorissa on bugi, niin se on sen bugin esiin tuovan validoitavan materiaalin vika?

Itse olen sitä mieltä, että jos koodi on validia, niin sillä ei ole mitään merkitystä mitä validaattori siitä sanoo.

Jos kerran tuon skriptin toimiminen ei ole olennaista, niin eikö olisi järkevämpää jättää koko skripti pois?

Millä sinä päätät, että koodi on validia? Ja millä sinä perustelet, että validaattorissa on bugi esim. tässä asiassa?
Entä kun validaattorin mielestä tuo minun tekemäni muutos on validi, pitäisikö ihmetellä, että tuo tradedoblerin ei sitä ole?

Grez [22.04.2007 20:08:33]

#

Lähinnä kommentoin tuota asennettasi, että validaattorissa ei voi olla bugia. Sano nyt sitten minkä speksin mukaan olet sitä validoimassa. Muuten en voi pahemmin varmistaa onko vika koodissa vai validaattorissa.

Kuten jo edellä sanoin, niin minusta ei ole mitään merkitystä mitä validaattori sanoo vaan sillä, onko koodi validia vai ei.

Joka tapauksessa tuossa sinun viimeisimmässä korjausehdotuksessa ei ollut hitusenkaan verran järkeä. (Siis siinä, että pidetään osa javascriptiä tekstinä siellä src-parametrin lopussa)

pistemies [22.04.2007 20:20:29]

#

lainaus:

Kuten jo edellä sanoin, niin minusta ei ole mitään merkitystä mitä validaattori sanoo vaan sillä, onko koodi validia vai ei.

Minä en tiedä muuta mittapuuta sille, mikä on validia ja mikä ei, kuin validaattori.

Ps. Tuossa minun scptissäni on src:n laitettu ihan sama juttu kuin tradedoublerin skriptissäkin. Olen tulostanut sen selaimelle vain ilman tuota document.writeä, ei näytä sitä tarvitsevan.
Toimiikin ihan samalla tavoin, vaihtaa välillä mainoksia jne.

Metabolix [22.04.2007 20:27:04]

#

Eikö skripti ole tapana merkitä HTML-kommentiksi, siis jotenkin näin:

<script type="text/javascript">
<!-- // Siis kommentti alkaa
// Koodia, ja lopuksi kommentti loppuu (//:n jälkeen kaiketi, jottei JS-tulkki tukehtuisi).
//-->
</script>

pistemies [22.04.2007 20:29:48]

#

Metabolix kirjoitti:

Eikö skripti ole tapana merkitä HTML-kommentiksi, siis jotenkin näin:

<script type="text/javascript">
<!-- // Siis kommentti alkaa
// Koodia, ja lopuksi kommentti loppuu (//:n jälkeen kaiketi, jottei JS-tulkki tukehtuisi).
//-->
</script>

Jes. Tämäkin puuttuu tradelta, mutta se ei ole pakollinen.

Grez [22.04.2007 20:33:10]

#

Pekka Mansikka kirjoitti:

Ps. Tuossa minun scptissäni on src:n laitettu ihan sama juttu kuin tradedoublerin skriptissäkin.

Tradedoublerin skripti tuottaa tällaisia SRC-parametriksi:

http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)610456043
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)700461099
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)915852178
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)698788986
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)042597141
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)513786127
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)749390240

Sinun skriptitön versio tuottaa tällaisia SRC-parametreiksi:
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)' + new String (Math.random()).substring (2, 11);"
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)' + new String (Math.random()).substring (2, 11);"
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)' + new String (Math.random()).substring (2, 11);"
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)' + new String (Math.random()).substring (2, 11);"
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)' + new String (Math.random()).substring (2, 11);"

Eli kuten huomaat, tradedoublerin skripti tuottaa käytännössä joka kerta eri linkin. Sinun versio tottaa aina saman linkin.

Koska kerran tuo osoitteen vaihtelu ei ole sinulle tärkeää, niin sinuna laittaisin SRC:ksi vaan:
http://impfi.tradedoubler.com/imp?type(js)pool­(194716)a(1365109)

Se toimisi täsmälleen samalla tavalla kuin tuo sinun älyvapaa virityksesi, mutta ei olisi niin älyvapaa.

pistemies [22.04.2007 21:31:13]

#

Oletko testannut ja klikannut bannereita vai pohditko noita vain päässäsi?
Minä olen testannut.

Grez [22.04.2007 22:14:48]

#

Joo, no en voi sitte mitään jos et halua hahmottaa.

pistemies [23.04.2007 09:18:56]

#

Kyllä tuossa minun skriptissäni tuo linkin loppuosa jatkuu ihan samoin kuin tradellakin. Ei se katkea kesken. Teoriassa niin voisi luulla, mutta käytännössä niin ei tapahdu, nykyselaimet ovat sen verran viisaita.
Tuo tradedoublerin skripti on luotu siihen aikaan, kun selaimet olivat vielä lasten kengissä. Se lienee yhtä vanha kuin on kyseinen yrityskin.

Grez [23.04.2007 09:43:16]

#

Pekka Mansikka kirjoitti:

Teoriassa niin voisi luulla, mutta käytännössä niin ei tapahdu

No, minä en ole luullut mitään, tuossa aikaisemmassa viestissäni näkyy ihan täsmällisesti mitä tuossa tapahtuu. (Mitä nyt foorumisofta lyhentää keskeltä tuota pisintä linkkiä.)

Mutta kuten sanoin, jos et halua hahmottaa vaikka rautalangasta väännän niin ei voi mitään. Eikä tämä nyt edes ole kovin yllättävää. Tällaisia virityksiä tulee vastaan, kun tekijät eivät tiedä mitä tekevät vaan säätävät "yritys & erehdys" -menetelmällä.

pistemies [23.04.2007 11:31:27]

#

Okoon miten on, joka tapauksessa olen huomannut että tradedoublerin skripti ei näytä yhtään sellaista banneria, mitä tuo minun skiprini ei testissäni ole näyttänyt, vaikka kuinka sivua päivitän.

Grez [23.04.2007 11:34:21]

#

Ei se tilanne siitä muuttuisi myöskään vaikka jättäisit tuon
' + new String (Math.random()).substring (2, 11);
-roskan pois sieltä lopusta.

pistemies [23.04.2007 11:37:58]

#

Grez kirjoitti:

Ei se tilanne siitä muuttuisi myöskään vaikka jättäisit tuon
' + new String (Math.random()).substring (2, 11);
-roskan pois sieltä lopusta.

Testataan... :)

No niin. Testattu on molempia. Tulos sama molemmissa.
Grez, olit oikeassa, tuon poistaminen ei vaikuta mitenkään.

Mutta se sääntö pätee myös tradedoblerin skriptiin. Siinäkin tuo loppurimpsu on turha. Kun siitäkin sen poistaa, se ei vaikuta sen toimintaan mitenkään.

Grez [23.04.2007 12:05:25]

#

Sen tradedoublerin alkuperäisen koodin loppurimpsun idea on, että selain lataisin skriptin joka kerta uudelleen. (Eli URL vaihtuu joka kerta). En tiedä miksi Tradedoubler on kokenut tarvitsevansa moisen, eli miksi sen palvelimelta ladattavan skriptin pitäisi latautua joka kerta uudelleen. Mahdollisesti se liittyy joihinkin innokkaasti cachaaviin selaimiin.

Joka tapauksessa tuo muutettu systeemi toimii eri tavalla kuin alkuperäinen ainakin joillakin selaimilla joissakin tapauksessa - tuskin ne huvin vuoksi sitä on tehneet.

pistemies [23.04.2007 12:31:54]

#

Missä tuo URL vaihtuminen käytännössä tulisi näkyä? Eikö html-linkissä?

Mutta nyt nämä vaihtumiset tapahtuu samoin, oli tuota rimpsua tai ei.
Esim. jos otetaan tuo tradedoubler. Vaikka tuo rimpsu on siinä, sama banneri voi sivua ladatessa tulla kaksi kertaa peräkkäin.
En ole huomannut, että selain lataisi skriptiä uudellen ilman sivun päivittämistä. Sama banneri pyörii, kunnes päivittää sivun.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta