Javascript-kysymyksiä
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Javascript-kysymyksiä
Viesti Kirjoittaja Macpoika »
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 4927
- Liittynyt: 10.5.2005 klo 12.56
- Paikkakunta: Joensuu
Re: Kuinka tarkistaa selaimen JavaScript-tuki?
Viesti Kirjoittaja gramdel »
/---
ap
http://gramdel.kapsi.fi/
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Toinen kysymys
Viesti Kirjoittaja Macpoika »
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 4927
- Liittynyt: 10.5.2005 klo 12.56
- Paikkakunta: Joensuu
Re: Toinen kysymys
Viesti Kirjoittaja gramdel »
Voisin suositella tutustumaan johonkin JavaScript alkeisoppaaseen/tutorialiin, innerhtml lienee taikasana.Macpoika kirjoitti:Mistä johtuu, että document.write() korvaa koko dokumentin sisällön? Millä tavalla voisi lisätä tavaraa poistamatta muuta?
/---
ap
http://gramdel.kapsi.fi/
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Re: Toinen kysymys
Viesti Kirjoittaja Macpoika »
Luin ohjelmointiputkan oppaan melkein kokonaan. Siellä ei ollut tuosta mainittu mitään.gramdel kirjoitti:Voisin suositella tutustumaan johonkin JavaScript alkeisoppaaseen/tutorialiin, innerhtml lienee taikasana.Macpoika kirjoitti:Mistä johtuu, että document.write() korvaa koko dokumentin sisällön? Millä tavalla voisi lisätä tavaraa poistamatta muuta?
/---
ap
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 335
- Liittynyt: 9.5.2004 klo 18.24
Viesti Kirjoittaja mazbi »
Koodi: Valitse kaikki
<div id="foo"></div>
<script type="text/javascript">
var foo = document.getElementById("foo");
foo.innerHTML = "text";
</script>
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Tai näin:mazbi kirjoitti:Esim. näin:
Koodi: Valitse kaikki
<div id="foo"></div> <script type="text/javascript"> var foo = document.getElementById("foo"); foo.innerHTML = "text"; </script>
Koodi: Valitse kaikki
document.getElementById("foo").innerHTML ="text";
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Koodi: Valitse kaikki
<?php $var = "one" ?>
<noscript><?php $var = "another" ?></noscript>
<?php include($var); ?>
Eli oli javascript päällä tai ei, niin tuo aina hakee 'another':in.
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 967
- Liittynyt: 18.8.2005 klo 12.48
- Paikkakunta: Oulu
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
AIvan. En tajunnut tuota. Miten tuon voisi tehdä toisella tapaa?MiniMe kirjoitti:Eikös nosrcipt ole selainta varten oleva tagi. Eli jos JS-tukea ei ole, se näyttää sen. Tuskin palvelin älyää noiden noscript-tagien päälle php-koodia suoritettaesa.
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
Viesti Kirjoittaja nobu178 »
Kirjoitat nosrcipt-tagien väliin, mitä pitäisi lukea, jos JavaScript ei ole päällä. Jos ratkaisu ei miellytä, voit lennättää kävijän toiselle sivulle. meta-tagien ja JavaScriptin location.href:llä onnistuu.Macpoika kirjoitti:AIvan. En tajunnut tuota. Miten tuon voisi tehdä toisella tapaa?MiniMe kirjoitti:Eikös nosrcipt ole selainta varten oleva tagi. Eli jos JS-tukea ei ole, se näyttää sen. Tuskin palvelin älyää noiden noscript-tagien päälle php-koodia suoritettaesa.
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Minulla on siis kaksi koodi pätkää. Toisessa javascriptiä, toisessa ei. haluan, että vain toinen sisällytetään. Koska sisällytys tehdään PHPllä, tulee juttu tuplana (joista toinen ei toimi), kun javascript ei ole päällä.nobu178 kirjoitti:Kirjoitat nosrcipt-tagien väliin, mitä pitäisi lukea, jos JavaScript ei ole päällä. Jos ratkaisu ei miellytä, voit lennättää kävijän toiselle sivulle. meta-tagien ja JavaScriptin location.href:llä onnistuu.Macpoika kirjoitti:AIvan. En tajunnut tuota. Miten tuon voisi tehdä toisella tapaa?MiniMe kirjoitti:Eikös nosrcipt ole selainta varten oleva tagi. Eli jos JS-tukea ei ole, se näyttää sen. Tuskin palvelin älyää noiden noscript-tagien päälle php-koodia suoritettaesa.
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
Viesti Kirjoittaja nobu178 »
Lisäys: Ilman PHP:täkin onnistuu esittämään palvelimella olevia tekstejä, kunhan käytät XMLHttpRequestia. Vielä helpompi olisi kirjoittaa koodipätkä suoraan JavaScriptiin (tai js-tiedostoon).
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Sain toimimaan näin:nobu178 kirjoitti:Sitten toi noscript ei ehkä auta. Mitä jos teet sivun, joka toimii ilman JavaScriptiä, ja vaikkapa onloadiin laitat JavaScript-komennot, joiden pitää toimia, kun JavaScript on päällä. PHP-yhteydenhän voi hoitaa AJAXilla.
Koodi: Valitse kaikki
<span class="scripted"><?php include("one"); ?></span>
<noscript>
<?php include("another"); ?>
<style type="text/css" media="all">.scripted { display: none; }</style>
</noscript>
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Ne on bodyn sisällä. Huomasin ettei se validoidu. Onko javascriptissä vastaavaa kuin PHPn include()? Jos PHP osaisi tarkistaa javascriptin päälläolemisen, ei olisi ongelmaa, mutta se osaa kertoa vain jos selaimessa on tuki.nobu178 kirjoitti:Ei mitään varsinaisesti, mutta kysynpä, onko toi body-tagien sisällä vai head-tagien? Vai sijaitsevatko span- ja noscript-tagit eri paikassa?
Ärsyttää.
Linkin kohteeksihan voi laittaa esim. "?thing=$blahblah". Miten tämän voi tehdä automaattisesti?
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 2505
- Liittynyt: 23.11.2004 klo 20.02
- Paikkakunta: Oulu
Viesti Kirjoittaja tkt »
Mukavasti ohjeita ja malleja löytyy <http://www.w3schools.com/> -osoitteesta.
--Ari
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Tuon siis tiesin, mutta onko mahdollista lähettää palvelimelle tavaraa automaattisesti?tkt kirjoitti:Hiukan vaikeaan, kun PHP ei tiedä tuon taivaallista selaimesta. PHP-koodi suoritetaan palvelimella kun sivua ladataan, JS-puolestaan ajetaan työasemassa selaimen alaisuudessa. Yksinkertaistettuna, kun sivu on selaimessa, niin PHP:tä ei enää ajeta.
Mukavasti ohjeita ja malleja löytyy <http://www.w3schools.com/> -osoitteesta.
--Ari
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
Viesti Kirjoittaja nobu178 »
Niin kuin kirjoitin ylhäällä, kyllä pelkällä JavaScriptillä voi imuroida tekstin palvelimelta. Laitat onloadiin komennon, joka XMLHttpRequestilla imuroi tekstin palvelimelta seuraavaan tyyliin:Macpoika kirjoitti:Tuon siis tiesin, mutta onko mahdollista lähettää palvelimelle tavaraa automaattisesti?tkt kirjoitti:Hiukan vaikeaan, kun PHP ei tiedä tuon taivaallista selaimesta. PHP-koodi suoritetaan palvelimella kun sivua ladataan, JS-puolestaan ajetaan työasemassa selaimen alaisuudessa. Yksinkertaistettuna, kun sivu on selaimessa, niin PHP:tä ei enää ajeta.
Mukavasti ohjeita ja malleja löytyy <http://www.w3schools.com/> -osoitteesta.
--Ari
Koodi: Valitse kaikki
XXXXX.open("GET","Macpoika.txt",true);
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Koodi: Valitse kaikki
<script type="text/javascript">
function switch() {
document.getElementById('linkki').href = '?content=hello_js.php';
}
</script>
Koodi: Valitse kaikki
<body onload="switch()">
<a id="linkki" href="?content=hello.php">Change content</a>
<?php
if(isset($_GET['content'])) {
include($_GET['content']);
}
?>
</body>
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 335
- Liittynyt: 9.5.2004 klo 18.24
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Se ei kerro onko Javascript sallittu. Ongelma on jo ratkaistu edellä mainitulla tavalla.mazbi kirjoitti:get_browser-funktiosta voisi olla apua.
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
Viesti Kirjoittaja nobu178 »
Pitäisi kertoa, kunhan php.ini on kunnossa. Itse ehdotin JavaScriptin käyttöä, koska otsikko on "Javascript-kysymyksiä". Minusta tuntuu, että hoidat asian hyvin monimutkaisesti, vaikka nopeampia ja yksinkertaisempia keinoja on tarjolla. No, siihen lienee hyvät syyt.Macpoika kirjoitti:Se ei kerro onko Javascript sallittu. Ongelma on jo ratkaistu edellä mainitulla tavalla.mazbi kirjoitti:get_browser-funktiosta voisi olla apua.
-
- Viestit: 1275
- Liittynyt: 24.3.2006 klo 19.30
- Paikkakunta: Ulkomailla
Re:
Viesti Kirjoittaja Aaaron »
Hiemanko on hazardöösiä koodia. Ei ikinä koskaan IKINÄ EI EI EI EI EI EI saa luottaa mihinkään käyttäjältä tulevaan inputtiin, oli se sitten GET tai POST tai lomakkeilta tulevaa dataa. EI EI JA EI!Macpoika kirjoitti:Onnistuin näin:Koodi: Valitse kaikki
<a id="linkki" href="?content=hello.php">Change content</a> <?php if(isset($_GET['content'])) { include($_GET['content']); } ?>
Tuohon voi vihamielinen käyttäjä laittaa parametriksi lähes minkä tahansa tiedoston, mitä koneeltasi löytyy ja ohjelmasi näyttää sen, koska et tarkista, että syöte on sallituissa rajoissa.
Tuohon voi kokeilla pistää parametriksi esim. /etc/passwd, jolloin ohjelmasi huonolla tuurilla includeaa sellaista dataa, jota ei todellakaan saisi palvelimen ulkopuolelle näyttää.
Tuohon on ratkaisuna asettaa olemassaolevat sivut taulukkoon, jonka sisältämät arvot on sallittu ja kaikki muu estetty. Kannattaa tutustua tietoturvan perusteisiin ja tässä tapauksessa esim. php:n basename -funktioon.
-
- Viestit: 937
- Liittynyt: 5.6.2006 klo 13.48
- Paikkakunta: Helsinki
Re: Javascript-kysymyksiä
Viesti Kirjoittaja morbusg »
Palaa sivulle “Ohjelmointi, skriptit ja palvelimet”
- Yleiset aiheet
- ↳ Ajankohtaista Apple-maailmasta
- ↳ Käyttöjärjestelmät
- ↳ Ohjelmat
- ↳ Yleiskeskustelu
- Mac ja oheislaitteet
- ↳ Yleiskeskustelu laitteista
- ↳ MacBook, MacBook Pro ja MacBook Air
- ↳ iMac
- ↳ Mac mini
- ↳ Mac Pro ja Mac Studio
- ↳ Ongelmia Macin kanssa?
- iPhone, iPad ja Apple Watch
- ↳ iPhone-, iPad- ja Apple Watch -laitekeskustelu
- ↳ iPhone-, iPad- ja Apple Watch -ohjelmat sekä iOS
- ↳ Ongelmia iPhonen, iPadin tai Apple Watchin kanssa?
- Huviksi ja hyödyksi
- ↳ Off-topic
- ↳ Kuva ja graafinen suunnittelu
- ↳ Audio ja musiikki
- ↳ Video, televisio ja elokuvat
- ↳ Pelit ja pelaaminen
- ↳ Ohjelmointi, skriptit ja palvelimet
- ↳ Tietoturva ja varmuuskopiointi
- ↳ Verkot, mobiilidata ja muut puhelimet
- ↳ Retronurkka
- ↳ Foorumin ylläpito
- Kauppapaikka
- ↳ Myydään Mac
- ↳ Myydään iPhone, iPad ja iPod
- ↳ Myydään muut Applen tuotteet
- ↳ Myydään muuta tietotekniikkaa
- ↳ Ostetaan Mac
- ↳ Ostetaan iPhone, iPad ja iPod
- ↳ Ostetaan muut Applen tuotteet
- ↳ Ostetaan muuta tietotekniikkaa
- ↳ Vaihdetaan, annetaan, työtä haetaan ja tarjotaan
- ↳ Kauppapaikan keskustelu ja hintavinkit