Auto spustenie jQuery po načítaní stránky – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Auto spustenie jQuery po načítaní stránky – JavaScript, AJAX, jQuery – Fórum – Programujte.comAuto spustenie jQuery po načítaní stránky – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Majovic0
Duch
22. 1. 2022   #1
-
0
-

Ahojte,

JS a jQuery je pre mňa problém :-(

Prosím preto o pomoc: mám html, kde v div-e je odkaz TEST. Po jeho stlačení sa spustí jQuery.

Ja by som potreboval, aby tam ten odkaz nebol a jQuery sa automaticky spustilo na konkrétnom mieste v konkrétnom div-e niekde v skripte.

Išlo by to nejako vymyslieť? Vopred ďakujem... skutočne som v JS úplne nemožný!

  <div>
    <a href = "#" class="run-code"><b> TEST </b></a>
  </div>


    <script type="text/javascript">
    jQuery(function ($) {
      $("a.run-code").on("click", function (e) {
        e.preventDefault();
        var code = $(e.target).parent().prev().text();
        eval(code);
      });
    });
    </script>
Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1849 příspěvků
22. 1. 2022   #2
-
0
-

   

<script type="text/javascript">
$(function() {
  TO_CO_MAS_V_TOM_DIVU
});
</script>
Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1849 příspěvků
22. 1. 2022   #3
-
0
-

A pokud teda chceš zachovat to, že ten kód je v divu a zároveň ho chceš spustit, tak ten kód nemusíš psát dvakrát. Třeba takhle:

<script type="text/javascript">
$(function() {
  var code = $("#iddivuskodem").text();
  eval(code);
});
</script>
Nahlásit jako SPAM
IP: 213.211.51.–
Majovic0
Duch
22. 1. 2022   #4
-
0
-

#3 gna
Vďaka za reakciu, ale nejako nechápem...
Skúsim sem dať celý html súbor, dole je div, kde by sa mal vykonať ten skript. Ono to bude (snáď) nakoniec php súbor, ktorý bude mať viacero vetiev, kde sa budú  zobrazovať na základe výsledku stanovenej podmienky v každej vetve v dive iné údaje. Preto to tak komplikujem.
A ak môžem poprosiť a budete taký dobrý, skúste mi to vyeditovať. Ja sa s tým ozaj nepohnem...
Vďaka. 

<!DOCTYPE html>
<html>
  <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
      <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>

  <body>
  <br><center>
  <div>
    <script>route.scrn([200, 50, 50, 50, 200]);</script>
    <a href = "#" class="run-code"><b> TEST </b></a>
  </div>
  </center>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="routescrn.js"></script>

    <script type="text/javascript">
    jQuery(function ($) {
      $("a.run-code").on("click", function (e) {
        e.preventDefault();
        var code = $(e.target).parent().prev().text();
        eval(code);
      });
    });
    </script>

   <div>
   Tu by som chcel mat spustenie a vykonanie skriptu
   </div>

  </body>
</html>
Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1849 příspěvků
22. 1. 2022   #5
-
0
-

Teď ti to při kliknutí vytáhne z toho elementu text a spustí ho jako skript. Tak ho spusť rovnou.

<script type="text/javascript">
$(function() {
  route.scrn([200, 50, 50, 50, 200]);
});
</script>
Nahlásit jako SPAM
IP: 213.211.51.–
Majovic0
Duch
22. 1. 2022   #6
-
0
-

#5 gna
Nefunguje, vôbec nič sa nestane, ani chyba, ani výsledok. Možno niekde ešte robím chybu. A tiež neviem, či ten celý skript, kde je jQuery funkcia, mám alebo nemám odstrániť, Skúsil som aj s ním aj bez neho, nejde do... 

<!DOCTYPE html>
<html>
  <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
      <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>

  <body>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="routescrn.js"></script>

    <script type="text/javascript">
    jQuery(function ($) {
      $("a.run-code").on("click", function (e) {
        e.preventDefault();
        var code = $(e.target).parent().prev().text();
        eval(code);
      });
    });
    </script>

    <script type="text/javascript">
    $(function() {
      route.scrn([200, 50, 50, 50, 200]);
    });
    </script>

  </body>
</html>
Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1849 příspěvků
22. 1. 2022   #7
-
0
-

Nevím, možná je toto příliš brzy. Takhle se to spustí až když se všechno načte: 

$(window).on("load", function() {
  route.scrn([200, 50, 50, 50, 200]);
});

Jinak se zeptej autora "routescrn.js" jak se má používat.

Nahlásit jako SPAM
IP: 213.211.51.–
Majovic0
Duch
23. 1. 2022   #8
-
0
-

#7 gna
Áno, na autora (nejaký Ind) som sa obrátil, ale poslal mi iba ten skript s odkazom a href a ten, samozrejme, spoľahlivo beží, len na jeho spustenie treba ten klik na odkaz:

<div> <script>route.scrn([200, 50, 50, 50, 200]);</script>
<a href = "#" class="run-code"><b> TEST </b></a> </div> </center>

Ja som sa (naivne) domnieval, že stačí vymeniť to "click" vo funkcií za "load" alebo "ready", no nie je to tak.

<script type="text/javascript">
jQuery(function ($) {
$("a.run-code").on("click", function (e) {
e.preventDefault();
var code = $(e.target).parent().prev().text();
eval(code); }); });
</script>

Možno by sa to dalo riešiť nejakou "simuláciou" stlačenia odkazu a href. Inak už ozaj neviem skúšal som všetky vaše návrhy, aj som to rôzne kombinoval, nedá sa to automaticky spustiť. Už by som bral aj to, keby sa skript vždy po každom loade stránky sám spustil, tie plánované podmienky by som si vyriešil ináč, ale nedarí sa...
Nechám to už zrejme tak, problém zrejme nemá riešenie.
Napriek tomu veľmi pekne ďakujem za snahu o pomoc.

 

Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1849 příspěvků
23. 1. 2022   #9
-
0
-

Tak dej odkaz na ten skript a já se podívám, jak funguje.

Nahlásit jako SPAM
IP: 213.211.51.–
peter
~ Anonymní uživatel
3982 příspěvků
24. 1. 2022   #10
-
0
-

Ja se vratim k tomu puvodnimu kodu... 

 <div>
    <a href = "#" class="run-code"><b> TEST </b></a>
  </div>


    <script type="text/javascript">
    jQuery(function ($) { // toto dela window.onload udalost
      $("a.run-code").on("click", function (e) { // toto pridadi tagu A, ktery ma class "run-code" --- <a class="run-code"> --- nejakou funkci
// a toto ostatni je vnitrek te funkce
        e.preventDefault();
        var code = $(e.target).parent().prev().text();
        eval(code);
      });
    });
    </script>

// cili, kdyz chces, aby to nabihalo samo, tak by to melo stacit prepsat na 

  <div id="mujDiv">
    <a href = "#" class="run-code" id="mujOdkaz"><b> TEST </b></a>
  </div>


    <script type="text/javascript">
    jQuery(function ($) {


        var code = $('#mujOdkaz').parent().prev().text();
//        var code = $('#mujDiv').prev().text(); // nebo mozna takto
        eval(code);
      });
    });
    </script>
Nahlásit jako SPAM
IP: 2001:718:2601:258:d92a:211d:4a5e:8d87...–
peter
~ Anonymní uživatel
3982 příspěvků
24. 1. 2022   #11
-
0
-

   

<script id="scriptTag0">route.scrn([200, 50, 50, 50, 200]);</script> // toto

<script id="scriptTag1">eval( 'route.scrn([200, 50, 50, 50, 200]);' );</script> // toto

<script id="scriptTag2">code = document.getElementById("scriptTag0").text; eval(code);</script> // a toto udela to same!
Nahlásit jako SPAM
IP: 2001:718:2601:258:d92a:211d:4a5e:8d87...–
peter
~ Anonymní uživatel
3982 příspěvků
24. 1. 2022   #12
-
0
-

Mi to nechtelo pridat cely prispevek. Nemam tuseni proc.Jde mi o to, ze v tom dalsim kodu nechapu vyznam. Proc tahat text z tagu script a pak jej evalovat, kdyz eval je totez jako samotny tag script? Nereknu, kdybys to tahal z inputu, textarea, pre, divu... Ale takhle?
 

Nahlásit jako SPAM
IP: 2001:718:2601:258:d92a:211d:4a5e:8d87...–
Majovic0
Duch
24. 1. 2022   #13
-
0
-

#11 peter
Vďaka za snahu pomôcť, ale stále mi to nefunguje....

Teraz ten skript vyzerá takto. 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="routescrn.js"></script>

    <script type="text/javascript">
    jQuery(function ($) {
    // var code = $('#mujOdkaz').parent().prev().text();   // alt. A. nefunguje
     var code = $('#mujDiv').prev().text();                // alt.  B. nefunguje
        eval(code);
      });
    </script>

    <br><center>
    <div id="mujDiv">
    <script>route.scrn([170, 50, 80, 50, 170]);</script>
    <a href = "#" class="run-code" id="mujOdkaz"><b> TEST </b></a>
    </div>
    </center>

Ten odkaz TEST by som tam najradšej nemal a už mi je aj jedno, kde v skripte sa to má spustiť, len nech sa to po načítaní stránky spustí.

Alebo som niekde niečo ešte pomotal? Akože v PHP som taký zdatnejší začiatočník, ale JavaScript,  to je pre mňa čosi úplne nepochopiteľné.
Nechám to zatiaľ tak, ešte sa skúsim obrátiť na jedného známeho, ktorý je ale hodne časovo zaneprázdnený a  jeho lehoty sú mesiac, dva :-)
Tak zatiaľ vďaka!

Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1849 příspěvků
25. 1. 2022   #14
-
0
-

#13 Majovic
Z tohodle nic nevykoukáme. Hoď někam ten "routescrn.js" a dej sem odkaz.

Nahlásit jako SPAM
IP: 213.211.51.–
peter
~ Anonymní uživatel
3982 příspěvků
25. 1. 2022   #15
-
0
-

U javascriptu musis vedet, co ten kod dela a sledovat chyby v konzoli. Tu ma koazdy prohlizec. U FF je to v menu Nastroje > Nastroje prohlizece > Nastroje pro vyvoj webu (ctrl+shift+i). Smazes hlasky nebo e nech. Pak das F5 u stranky (znovunacteni). A naskacou ti tam chyby.

Nam nic nenaskace, nemame tvuj kod :) O ktery te gna stale zada.
Klidne udelej jednoduchou html stranku, kde das jen ten js. Bootrsprap se da stahnout online, ale o
routescrn.js nevime nic. Treba mas kod spravne a chypu pise ten route.scrn() protoze vyzaduje nejaky konkretni class, id nebo tak.

https://jsfiddle.net/Ln8q6h29/ ; - Klikni si tam "Run" vlevo nahore

<pre id=aaa>nic</pre>

<script>
function getById (id) {return document.getElementById(id)}
function f2 (text) {getById('aaa').innerHTML+="\n"+text;}
</script>

<script id="s0">f2('vlozeny text');</script>
<script id="s1">code = getById("s0").text; f2(code); eval(code);</script>
Nahlásit jako SPAM
IP: 2001:718:2601:258:204e:cabd:9c9f:7c39...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý