Kirjoittaja Aihe: [ ratkaistu ] Selaimen linkki toimii vain "satunnaisesti" omalla sivulla  (Luettu 1922 kertaa)

teele

  • Käyttäjä
  • Viestejä: 883
    • Profiili
Suunnitelussa on nettisivu paikalliseen käyttöön ja omalle koneelle. Sivulle olisi tarkoitus laittaa osoiteet nettisivuhin, joita tulee haettua useimmin, esimerkiksi sää ja hesari tms.

Sivuja olisi tarkoitus vähän ryhmitellä pudotusvalikkoihin. Tekoäly ehdotti suunnilleen tällaista html-sivua javascriptin kanssa

Koodia: [Valitse]

<!DOCTYPE html>
<html lang="fi">
<head>
<meta charset="UTF-8">
<title>Tekstialue ja Valikot</title>
<style>
body {
  font-family: 'Helvetica Neue', Arial, sans-serif; /* Use a common sans-serif font */
  font-size: 16px;
  line-height: 1.6;
}
 
.container {
  display: flex; /* Use flexbox for horizontal layout */
  width: 80%;
  margin: 20px auto; /* Center the container */
}
 
.dropdown {
  margin-right: 20px; /* Add space between dropdowns */
  flex: 1; /* Let dropdowns take equal width */
}
 
textarea {
  width: 100%;
  height: 150px; /* Increased height for better usability */
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin-top: 20px; /* Add space below dropdowns */
  resize: vertical;
}
 
select {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
</style>
</head>
<body>
 
<div class="container">
  <div class="dropdown">
    <label for="valikko1">Valikko 1:</label>
    <select id="valikko1">
      <option value="vaihtoehto1">Vaihtoehto 1</option>
      <option value="vaihtoehto2">Vaihtoehto 2</option>
      <option value="vaihtoehto3">Vaihtoehto 3</option>
      <option value="vaihtoehto4">Vaihtoehto 4</option>
    </select>
  </div>
  <div class="dropdown">
    <label for="valikko2">Valikko 2:</label>
    <select id="valikko2">
      <option value="linkki1">Linkki 1</option>
      <option value="https://hs.fi  ">Linkki 2 </option>
      <option value="linkki3">Linkki 3</option>
      <option value="linkki4">Linkki 4</option>
    </select>
  </div>
  <div class="dropdown">
    <label for="valikko3">Valikko 3:</label>
    <select id="valikko3">
      <option value="kohde1">Kohde 1</option>
      <option value="kohde2">Kohde 2</option>
      <option value="kohde3">Kohde 3</option>
      <option value="kohde4">Kohde 4</option>
    </select>
  </div>
</div>
 
<textarea id="tekstialue" placeholder="Kirjoita tekstiä tähän..."></textarea>

<script>

const valikko2 = document.getElementById('valikko2');
  valikko2.addEventListener('change', () =>
    {
      const selectedOption = valikko2.options[valikko2.selectedIndex];
      window.open(selectedOption.value, '');   
    }
                          );

</script>

 
</body>
</html>

Mutta ongelmana on, että valikko 2 -pudotusvalikossa linkki 2 avautuu vain satunnaisesti. Siitä pääsee hesarin sivulle vain silloin, jos selaimen hakukentässä napsauttaa tämän kokeilusivun osoitteen enterillä. Sivun uudelleen lataus selaimen latauspainikkeesta ei mahdollista hesarin sivun avaamista eikä hesarin sivua voi aata enää uudestaan, jos se on jo kerran suljettu. Pitää mennä selaimen osoitekenttään napsauttamaan enterillä kokeilusivu uudestaan haettavaksi.

Miten saisi linkin toimimaan aina, kun se on vain näkyvissä valikossa?





« Viimeksi muokattu: 11.06.25 - klo:21.28 kirjoittanut teele »

nm

  • Käyttäjä
  • Viestejä: 16668
    • Profiili
Vs: Selaimen linkki toimii vain "satunnaisesti" omalla sivulla
« Vastaus #1 : 11.06.25 - klo:19.06 »
change-eventiin sidottu koodi suoritetaan vain silloin, kun valinta muuttuu. Jos siis klikkaat kerran Hesarin valintaa, se avaa sivun ja samalla valitsee kyseisen valikon kohdan. Saman kohdan uudelleenklikkaaminen ei muuta valintaa, eikä change-eventin koodia suoriteta. Muut valikon kohdat sen sijaan toimivat, eli jos klikkaat seuraavaksi linkkiä 3, selain yrittää avata sen uudelle välilehdelle, ja sen jälkeen puolestaan linkki 2 toimii jälleen.

Voit kiertää ongelmaa resetoimalla valinnan change-eventissä:

Lainaus
  valikko2.addEventListener('change', () =>
    {
      const selectedOption = valikko2.options[valikko2.selectedIndex];
      window.open(selectedOption.value, '');
      valikko2.selectedIndex = -1;
    }


Mielestäni tuo koko valikkoviritys on kyllä melkoista HTML:n väärinkäyttöä. Selaimen hakutoiminto ei osaa hakea valikoista, eikä selain muutenkaan ymmärrä, että valikoissa edes on linkkejä. Laittaisin linkit normaaleina <a>-elementteinä vaikka usealle eri sivulle jaoteltuna, jos kaikkea ei haluta näkyviin kerralla.
« Viimeksi muokattu: 11.06.25 - klo:19.09 kirjoittanut nm »

pkill

  • Käyttäjä
  • Viestejä: 278
    • Profiili
Vs: Selaimen linkki toimii vain "satunnaisesti" omalla sivulla
« Vastaus #2 : 11.06.25 - klo:20.45 »
Miksi ihmeessä ne nettisivuksi tekisit, kun "speed dial" hakusanalla löytyy monenmoista kirjanmerkkien hallintalisuketta selaimeen.


teele

  • Käyttäjä
  • Viestejä: 883
    • Profiili
Vs: Selaimen linkki toimii vain "satunnaisesti" omalla sivulla
« Vastaus #3 : 11.06.25 - klo:21.27 »
Joskus neuvo, että asia ei ehkä mene oikeaan suuntaan, on oikein hyvä.

Koodi alkoikin jo vaikuttaa aika monimutkaiselta hommaan, joka tuntui teoriassa yksinkertaiselta. Oletus oli alunperin, että pudotusvalikot olisivat jo melkein vakiokomponentteja ja ne olisivat melkein valmiina html/javascriptissä.

Tällä perusteella säikeen voinee merkitä ratkaistuksi: Ei kannata yrittää tällaista, menee turhan monimutkaiseksi.

Kiitoksia neuvoista   :)

« Viimeksi muokattu: 11.06.25 - klo:21.33 kirjoittanut teele »

LeHiX

  • Käyttäjä
  • Viestejä: 833
    • Profiili
Itselläni on "valikot" kirjanmerkeissä.
Valikot näkyy kirjanmerkkipalkissa ja ne on eroteltu kirjanmerkeissä ryhmiin jorka sitten muodostavat valikot
| Pros. AMD Phemon(tm) 9950 :) (4cores) | Emo: ASUS M3A78 | Mem 8GT
| x86_64, ubuntu xorg 22.04  | GeForce GTX 750 Ti/PC

qwertyy

  • Käyttäjä
  • Viestejä: 5925
    • Profiili
Vs: Selaimen linkki toimii vain "satunnaisesti" omalla sivulla
« Vastaus #5 : 14.06.25 - klo:23.24 »
Joskus neuvo, että asia ei ehkä mene oikeaan suuntaan, on oikein hyvä.

Koodi alkoikin jo vaikuttaa aika monimutkaiselta hommaan, joka tuntui teoriassa yksinkertaiselta. Oletus oli alunperin, että pudotusvalikot olisivat jo melkein vakiokomponentteja ja ne olisivat melkein valmiina html/javascriptissä.

Tällä perusteella säikeen voinee merkitä ratkaistuksi: Ei kannata yrittää tällaista, menee turhan monimutkaiseksi.

Kiitoksia neuvoista   :)
Näihin on kyllä tosiaan aika paljon suht helposti toteutettavia fiksuja valmiita juttuja esim. Heimdall ja Dashy on aika näppäriä itse hostattavia juttuja. Kumpaakin olen kokeillut ja toimii aika kivasti. Toki lukuisia muitakin löytyy ja ihan selain plugareillakin. Tuollainen omalla koneella oleva juttu on toki siitä mukava, että toimii sitten sama millä selaimella.

https://dashy.to/
https://github.com/linuxserver/Heimdall

Tuli vielä tämä mieleen, mitä en ole itse kyllä koskaan kokeillut, mutta ilmeisesti varsin suosittu.
https://homarr.dev/