Keskustelua web-koodauksesta sekä selainten ominaisuuksista

Qwertyi

Vuoden foorumilainen 2010, VIP vuodesta 2016
Palaute - 100%
30   0   0
Liittynyt
7.12.2005
Viestit
37252
Reaktiopisteet
16621
Puhelinmalli
Samsung Galaxy S10e + Note 8
Tässä lähinnä harraste pohjalta on noita sivuja väsätty. Välillä templateja käyttäen ja toisinaan syntyy perus HTML-koodia ihan käsin näpyttelemällä.

Tein eräälle tuttavalla sivut hänen yritykselleen. Sivuissa käytin iframe-tagia koska olen vanhanaikainen ja minusta tuo on suhteellisen helppo tapa saada yhdelle sivupohjalle monta eri aluetta. Törmäsinpä sitten ongelmaan, kun esim googlesta hakee yrityksen tietoja niin google avaa vain tuon HTML-sivun jossa tiedot ovat. Ei siis avaa sitä perussivua jossa olis iframessa haetut tiedot. Miten sen nyt selittäis.

Jops siis sivusto on ositteessa yritys.net. Iframella osoitetaan linkkejä vaikkapa yhteystiedot.html tiedostoon eli siinä etusivulla aukeaa yhteystiedot ja sivu näkyy oikein. Googlella kun kattoo niin hakee vain sivun yritys.net/yhteys.html, eli sivun ulkoasu puuttuu.

PHP:tä ei ole sen enempää harrastettu mutta tuolla kai saisi huomattavasti toimivamman kokonaisuuden?
 

sovelias

Vuoden foorumilainen -06/-05/-03
Palaute - 0%
0   0   0
Liittynyt
21.6.2002
Viestit
42686
Reaktiopisteet
362
Eli noita kehyksiä ilmeisesti käytit vain sentakia että sait joka sivulla olevia vakiojuttuja omiin tiedoistoihin ja tuolla yhdistit ne näkymään kerralla.

Eli sinulla mahdollisesti omana tiedostona navikointi osa, jonka halusit olevan samanlainen joka sivulla, toinen ehkä yhteystiedot, jonka myös halusit olevan joka sivulla samanlainen, etkä halunnut noita Copy/pasteta käsin jokaiseen HTML tiedostoon ?

Halut että esim jos navikointi tai yhteystito osaan tekee muutoksen, niin yhtätiedostoa muuttamalla se päivittyisi jokasivuille ?

Yhdistää vakio tiedosto palvelinpäässä sivun tiedostoon, jos se edes vähän jotain tukee niin pitäisi onnistua.

Eli muokkaa yksi HTML tiedosto niin että siinä on mukana nuo haluamasi osat, Leikkaa vakio osuus leikepöydälle ja tee siitä yksi oma tiedosto. (jos useita vakio osuuksia, niin toista, ja noissa erillistiedostoissa ei mitään muuta kuin se kohta , ei siis HTML otsikoita jne) lisää leikeltyihin kohtii käyttämäsi palvelin pään "include" scripti joka osoittaa noihin erillisiin tiedostoihin, tallenna tiedosto palvelimelle (sopiva pääte). muokkaa kaikki sivut samalla idealla, eli korvaat niissä sen erillisellä tiedostolla olevan osuuden tuolla include jutulla.

Nuo edillistiedostot voivat olla palvelimella sellaisessa hakemistossa mihin ei välttämättä pääse surffailijat selaimella, ei oleelista koska niissä kuitenkin vain sellaista mikä käyttäjälle kuitenkin näytetään.

Lataa selaimella ko sivu, missä nuo include scriptit, jos script osuus on korvaanutu lähdekoodissa niiden osoittamalla erillistiedostoolla on kaikki kunnossa, jos seleimen lataamassa lähdekoosissa näkyy scripti on jotain pielessä, joka serveri ei sitä ymmärtänyt, tai serveri ei edes yrittänyt tulkata koodiasi, esim sen takia että olit nimennyt tiedoston väärin, tai palvelin pään asetus väärin.

SSI tuellisella (tarkistamatta)
<!--#include virtual="../polku/yhteys.txt" -->

Palvelin lataa tuohon tiedostoon yhteys.txt ja lähettää koko paketin niin että tuo kohta on korvattu tuolla yhteys.txt tiedostolla. selain siis saa vain yhden HTML tiedoston jossa kaikki haluamasi.

Polku on se miten palvelin sen näkee (esimerkissä suhteessa tuohon pyydettyyn tiedostoon), ei se miten se näkyy www osoitteessa.

Koikelle joillain pikku pätkillä, vaikka tekemällä ihan perus HTML tiedosto johon includella liität ensin vain leipätekstiä.

Voi tehdä myös esim PHPllä (jos palvlein tukee), mutta se on paljon voimallisempi ja siis myös enemmän sähläysmahdollisuuksia , miinoja sun muita.

Sivuissa käytin iframe-tagia koska olen vanhanaikainen ja minusta tuo on suhteellisen helppo tapa saada yhdelle sivupohjalle monta eri aluetta.
Tuo on tosiaan aika kiellettyä, yksi ongelmia on tosiaan tuo havaitsemasi, eli täytyy pitää huolta että vaikka käyttäjä tulisi framen sisältöön olisi hänellä kuitenkin järjellistä sisältö ja navikointi mahdollisuudet.

Toinen ongelma että jos käyttää noita niin sivun scaalautuvuus kärsii ja ulkonäkö voi muutenkin mennä pahemmin rikki. jne.
 

juzi

Tunnettu jäsen
Palaute - 0%
0   0   0
Liittynyt
22.10.2003
Viestit
1251
Reaktiopisteet
162
Tässä lähinnä harraste pohjalta on noita sivuja väsätty. Välillä templateja käyttäen ja toisinaan syntyy perus HTML-koodia ihan käsin näpyttelemällä.

Tein eräälle tuttavalla sivut hänen yritykselleen. Sivuissa käytin iframe-tagia koska olen vanhanaikainen ja minusta tuo on suhteellisen helppo tapa saada yhdelle sivupohjalle monta eri aluetta. Törmäsinpä sitten ongelmaan, kun esim googlesta hakee yrityksen tietoja niin google avaa vain tuon HTML-sivun jossa tiedot ovat. Ei siis avaa sitä perussivua jossa olis iframessa haetut tiedot. Miten sen nyt selittäis.

Jops siis sivusto on ositteessa yritys.net. Iframella osoitetaan linkkejä vaikkapa yhteystiedot.html tiedostoon eli siinä etusivulla aukeaa yhteystiedot ja sivu näkyy oikein. Googlella kun kattoo niin hakee vain sivun yritys.net/yhteys.html, eli sivun ulkoasu puuttuu.

PHP:tä ei ole sen enempää harrastettu mutta tuolla kai saisi huomattavasti toimivamman kokonaisuuden?


Tässä sulle valmis pääsivu :) Enää puuttuu nuo kolme page_xxx.php sivua, voi olla vaikka tyhjiä (kokeiluvaiheessa). Ja kuten Sovelias tuossa jo "epäsuorasti" sanoikin, kannattaa opetella PHP:tä. Esim. täältä php include

<?php
include("page_top.php");
include("page_menu.php");
?>
Tervetuloa sivuille!
<?php
include("page_bottom.php");
?>
 

Noma

Tunnettu jäsen
Palaute - 100%
3   0   0
Liittynyt
10.8.2003
Viestit
5502
Reaktiopisteet
30
Puhelinmalli
Nexus 5
Jos oikein haluaa hifistellä, niin voi tehdä myös niinpäin, että layout ja muu vakiosisältö on kaikki yhdellä sivulla, ja sitten muu sisältö haetaan urlin get-parametrin mukaan muualta:

<html>
...muu sisältö

<?php
if($_GET[sivu]) {
switch($_GET[sivu]) {
case etusivu:
$sivu = "etusivu.php";
break;
case yhteystiedot:
$sivu = "yhteystiedot.php";
break;
default:
$sivu = "sivua_ei_loydy.php";
break;
}
else {
$sivu = "etusivu.php";
}

include $sivu;
?>
...lisää html-koodia...
</html>

Tuossa siis oletuksena mennään etusivulle, mutta jos sinne on tultu osoitteella index.php?sivu=yhteystiedot, niin sisällöksi haetaankin yhteystiedot.php.
 

Qwertyi

Vuoden foorumilainen 2010, VIP vuodesta 2016
Palaute - 100%
30   0   0
Liittynyt
7.12.2005
Viestit
37252
Reaktiopisteet
16621
Puhelinmalli
Samsung Galaxy S10e + Note 8
Jos oikein haluaa hifistellä, niin voi tehdä myös niinpäin, että layout ja muu vakiosisältö on kaikki yhdellä sivulla, ja sitten muu sisältö haetaan urlin get-parametrin mukaan muualta

Tuo vaikuttanee juurikin siltä mitä haetaan. Pitääkin kokeilla. Huudetaan jelppiä taas kun homma kusee.
 

juzi

Tunnettu jäsen
Palaute - 0%
0   0   0
Liittynyt
22.10.2003
Viestit
1251
Reaktiopisteet
162
Jos oikein haluaa hifistellä, niin voi tehdä myös niinpäin, että layout ja muu vakiosisältö on kaikki yhdellä sivulla, ja sitten muu sisältö haetaan urlin get-parametrin mukaan muualta:

<html>
...muu sisältö

<?php
if($_GET[sivu]) {
switch($_GET[sivu]) {
case etusivu:
$sivu = "etusivu.php";
break;
case yhteystiedot:
$sivu = "yhteystiedot.php";
break;
default:
$sivu = "sivua_ei_loydy.php";
break;
}
else {
$sivu = "etusivu.php";
}

include $sivu;
?>
...lisää html-koodia...
</html>

Tuossa siis oletuksena mennään etusivulle, mutta jos sinne on tultu osoitteella index.php?sivu=yhteystiedot, niin sisällöksi haetaankin yhteystiedot.php.

Juu, näinkin sen voi tietysti tehdä. Tässä rakenteessa on vaan se ongelma, että sivuille ei saa omaa title, meta, yms. arvoa. Ja Google tykkää, että jokaisella sivulla on järkevä otsikko, kuvaus, yms.

Ja tuo if/else rakenne kannattaa tehdä enemmin vaikka functiona, niin ei tarvitse tuon breakin kanssa leikkiä. Ja jos sivuja paljon, niin tuo ehtolause kasvaa myös turhan pitkäksi. Myös tuo "$_GET[sivu]" kannattaa sijoittaa muuttujan arvoksi tai käyttää issettiä, tai palvelimen virheloki kasvaa hyvinkin nopeasti suureksi :)
 

Noma

Tunnettu jäsen
Palaute - 100%
3   0   0
Liittynyt
10.8.2003
Viestit
5502
Reaktiopisteet
30
Puhelinmalli
Nexus 5
Juu, näinkin sen voi tietysti tehdä. Tässä rakenteessa on vaan se ongelma, että sivuille ei saa omaa title, meta, yms. arvoa. Ja Google tykkää, että jokaisella sivulla on järkevä otsikko, kuvaus, yms.

Eipä tuo tämän kokoluokan sivulla (oletan siis nyt, ettei alasivuja ole kovin montaa kymmentä) ole oikeastaan ongelma.

Ja tuo if/else rakenne kannattaa tehdä enemmin vaikka functiona, niin ei tarvitse tuon breakin kanssa leikkiä. Ja jos sivuja paljon, niin tuo ehtolause kasvaa myös turhan pitkäksi. Myös tuo "$_GET[sivu]" kannattaa sijoittaa muuttujan arvoksi tai käyttää issettiä, tai palvelimen virheloki kasvaa hyvinkin nopeasti suureksi :)

Jos tuon haluaa tehdä varmasti tietoturvallisesti, niin kyllä se kannattaa switch-case -rakenteella tehdä - tai miksei suoraa if-elsellä, mutta se vaatii enemmän koodia. Ja kyllähän case pitää aina breakata lopuksi, jos halutaan tehdä standardien mukaista koodia. Ja saa olla kyllä aika huonosti konffattu palvelin, jos tuo antaa virheen.
 

juzi

Tunnettu jäsen
Palaute - 0%
0   0   0
Liittynyt
22.10.2003
Viestit
1251
Reaktiopisteet
162
Eipä tuo tämän kokoluokan sivulla (oletan siis nyt, ettei alasivuja ole kovin montaa kymmentä) ole oikeastaan ongelma.

Mitä tällä on tekemistä sivumäärän kanssa? Jos haluaa että Google löytää hyvin firma X:n yhteystiedot, niin kyllä se sivun title tulee olla tällöin "Yhteystiedot - Firma X"

Jos tuon haluaa tehdä varmasti tietoturvallisesti, niin kyllä se kannattaa switch-case -rakenteella tehdä - tai miksei suoraa if-elsellä, mutta se vaatii enemmän koodia. Ja kyllähän case pitää aina breakata lopuksi, jos halutaan tehdä standardien mukaista koodia. Ja saa olla kyllä aika huonosti konffattu palvelin, jos tuo antaa virheen.

Enpä ole php:llä mitään vuosikausiin väsännyt, mutta ehtolause voisi mennä vaikka näin:

$sivu = (isset($_GET['sivu'])) ? $_GET['sivu'].'.php' : 'etusivu.php';
include $sivu;

Eikä sitä virhelokia täytä suinkaan se select/case rakenne, vaan if lauseessa mahdollisesti esiintyvä määrittelemätön muuttuja ($_GET['sivu']). Ja se on nimenomaan huonosti konfattu palvelin, jos tätä virhettä ei siellä lokissa näy. Tai näin minulle on ainakin joskus kerrottu.
 

sovelias

Vuoden foorumilainen -06/-05/-03
Palaute - 0%
0   0   0
Liittynyt
21.6.2002
Viestit
42686
Reaktiopisteet
362
Mitä tällä on tekemistä sivumäärän kanssa? Jos haluaa että Google löytää hyvin firma X:n yhteystiedot, niin kyllä se sivun title tulee olla tällöin "Yhteystiedot - Firma X"
Totta, Ja käyttäjää (surffailiaa) varten ne on. vaikka olisi vain kaksi sivua.

Sitten pitää parsia sivukohtaiseksi se navigointi osuus, eli sijainti pitäisi tulostaa, samoin naivikointi osuudessa hoitaa se nykyinen sijainti jotenkin hallitusti.

Ja se on nimenomaan huonosti konfattu palvelin, jos tätä virhettä ei siellä lokissa näy....
Tuosta tuli mieleen että jäi käsitys ettei aloittaja olle PHP kokemusta, palvelin säätöintoa ja muutakin tekemistä kuin alkaa perehtyy asian hienouksiin, niin omat riskinsä , kuten esille toit, tuossa hyvin pian syntyy.
 

Qwertyi

Vuoden foorumilainen 2010, VIP vuodesta 2016
Palaute - 100%
30   0   0
Liittynyt
7.12.2005
Viestit
37252
Reaktiopisteet
16621
Puhelinmalli
Samsung Galaxy S10e + Note 8
Milläs koodilla nuo mainokset on tehty jotka avautuvat sivun päälle? Ei siis mikään popup ikkuna.
 

sovelias

Vuoden foorumilainen -06/-05/-03
Palaute - 0%
0   0   0
Liittynyt
21.6.2002
Viestit
42686
Reaktiopisteet
362
Milläs koodilla nuo mainokset on tehty jotka avautuvat sivun päälle? Ei siis mikään popup ikkuna.
Vaihtoehtoja on paljon, mutta sen voi tehdä ihan HTMLllä ja tyylitiedostolla.
Sovellus tyyllistä toiminnallisuutta voi lisätä javascriptiä, ja siitä eteenpäin.
 

Qwertyi

Vuoden foorumilainen 2010, VIP vuodesta 2016
Palaute - 100%
30   0   0
Liittynyt
7.12.2005
Viestit
37252
Reaktiopisteet
16621
Puhelinmalli
Samsung Galaxy S10e + Note 8
Vaihtoehtoja on paljon, mutta sen voi tehdä ihan HTMLllä ja tyylitiedostolla.
Sovellus tyyllistä toiminnallisuutta voi lisätä javascriptiä, ja siitä eteenpäin.
Sisällön koodaaminen on siis tuttua huttua (ainakin jossain määrin).

Kyse onkin että millä tekniikalla nuo mainokset on toteutettu. Java vai fläsh?
 

sovelias

Vuoden foorumilainen -06/-05/-03
Palaute - 0%
0   0   0
Liittynyt
21.6.2002
Viestit
42686
Reaktiopisteet
362
Sisällön koodaaminen on siis tuttua huttua (ainakin jossain määrin).

Kyse onkin että millä tekniikalla nuo mainokset on toteutettu. Java vai fläsh?
Se kai riippuu ihan mainoksesta, mutta ei siinä jaavaa tai fläshiä tarvita, HTML CSS.
Jos siis jätät javatapletit, javascriptit, flashit pois niin toimivuus on ehkä varvempaa.

Jos siis muuten sillä voit sen toteuttaa


Edit:
Pätjä javascripti ehkä kannattaa uhrata että se homman toimimaan nätistä ja vähän "älyä" siihen. eli voi vapaammin miettiä koska näytetään jne.
 

juzi

Tunnettu jäsen
Palaute - 0%
0   0   0
Liittynyt
22.10.2003
Viestit
1251
Reaktiopisteet
162
Kyse onkin että millä tekniikalla nuo mainokset on toteutettu. Java vai fläsh?

Flashillä nuo näytää olevan tehty. Tekonopeus(opiskelu)/animaatio(laatu) on Flashillä edelleen hyvä.

Minä tekisin bannerit varmaan nyt jQueryllä. En sen takia että se kävisi siihen parhaiten, vaan sen takia, että ei tarvitsisi opetella enää mitään uutta :)
 

Noma

Tunnettu jäsen
Palaute - 100%
3   0   0
Liittynyt
10.8.2003
Viestit
5502
Reaktiopisteet
30
Puhelinmalli
Nexus 5
Ne voi olla toteutettu HTML+JavaScript -yhdistelmällä, Flashillä tai Javalla. Miksei myös Shockwavella tai parilla muullakin harvinaisemmalla tekniikalla. JavaScriptillä pääsääntöisesti se pop-up -toiminnallisuus on tehty kuitenkin.
 

J.J-75

Bannattu
Bannattu tunnus
Palaute - 0%
0   0   0
Liittynyt
19.6.2002
Viestit
22476
Reaktiopisteet
230
Flashillä nuo näytää olevan tehty. Tekonopeus(opiskelu)/animaatio(laatu) on Flashillä edelleen hyvä.

Minä tekisin bannerit varmaan nyt jQueryllä. En sen takia että se kävisi siihen parhaiten, vaan sen takia, että ei tarvitsisi opetella enää mitään uutta :)

JQueryllä kannattaa vääntää mitä vaan nykyään ennemmin kuin vaikka Javascriptillä. Se on hyvin tehokas scriptauskieli. Sitä käytetään laajasti nopeuttaa javascripin kirjoittamista huomattavasti, niin en ihmettele..

Flashia on aika laajasti käytössä ja se usasti toimii kuitenkin riittävän hyvin. Vaikea sanoa mitä käy pitkässä juoksussa. JQuery ei ole hankalaa oppia koodaamaan, mutta sitä se vaatii. Mut esim. pystyisin aika helposti tekemään rungon jos halutaan vaikka parametroitavia bannereita mihin sit vaan lätkii kuvat ja asetukset miten haluaa et se toimii jne. Valmiitakin ratkasuita on jo olemassa.

http://codecanyon.net/item/jquery-banner-rotator-slideshow/full_screen_preview/109046

Korvais shockwawet, uusia tehosteita ja sit toimisi i laitteissa ja olisi kevyempiä jne..

Tossahan näkyykin noita tehosteita mitä on ja vaihtonopeuksia jne. tuntuisi olevan aika runsaasti.
 

sovelias

Vuoden foorumilainen -06/-05/-03
Palaute - 0%
0   0   0
Liittynyt
21.6.2002
Viestit
42686
Reaktiopisteet
362
JQueryllä kannattaa vääntää mitä vaan nykyään ennempi kuin vaikka Javascriptillä.

JQuery Javascriptiä selaimenkannalta ja ei kai väärin sanoa että myös kirjoittajalle.

Mobiilikeskustelussa kun ollaan, niin moni mobiili selain tukee javascrptiä aika laajasti (ja osa selaimista pikkutarkkoja), mutta luonnollisesti ei toiminnallisuutta scriptien varaan. ja javascriptien toimivuuteen ja sitä JQueryn toimivuuteen vaikuttaa selaimen kuvauskielten tuki ja käyttöliittymän ominais piirteet.

Ja johan turvallisuutta ajattelevat on ruksinut moiset pois työpöydilläkin.

JQuery lisenssi taitaa olla sopiva käyttöön kuin käyttöön, kunhan sen mainitsee. vaikka lisenssi ei vaadi lähdekoodin jakamista, niin luonnollisesti se kuitenkin aina tulee.
 

juzi

Tunnettu jäsen
Palaute - 0%
0   0   0
Liittynyt
22.10.2003
Viestit
1251
Reaktiopisteet
162
Ja johan turvallisuutta ajattelevat on ruksinut moiset pois työpöydilläkin.

Jos puhuit tässä Javascriptistä niin kyllähän se Googlen (Ajax) myötä on päässyt pikkuhiljaa pois jo tästä "pannasta".
 

Noma

Tunnettu jäsen
Palaute - 100%
3   0   0
Liittynyt
10.8.2003
Viestit
5502
Reaktiopisteet
30
Puhelinmalli
Nexus 5
Jos puhuit tässä Javascriptistä niin kyllähän se Googlen (Ajax) myötä on päässyt pikkuhiljaa pois jo tästä "pannasta".

Näinhän se on, harvalla webbisivulla nykyään ei ole lainkaan JavaScriptiä. Täydessä blokkauksessa ei ole mitään järkeä, koska suuri osa sivujen toiminnallisuudesta jää saavuttamatta.
 

sovelias

Vuoden foorumilainen -06/-05/-03
Palaute - 0%
0   0   0
Liittynyt
21.6.2002
Viestit
42686
Reaktiopisteet
362
Näinhän se on, harvalla webbisivulla nykyään ei ole lainkaan JavaScriptiä. Täydessä blokkauksessa ei ole mitään järkeä, koska suuri osa sivujen toiminnallisuudesta jää saavuttamatta.

Jos vähän tietoturvasta ja yksityisyydestä haluaa pitää kiinnin niin oletus varmaan estetty. mutta että homma toimii käytettävästi niin sallii sitten tarpeellisissa paikoissa sen mitä tarvii.

Hyvin monet sivut on täynnä yhteisö sontaa, josta pääsee tuolla tavalla suht vaivattomasti eroon.
 
Top Bottom