Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Lettura e ricerca TAG

  1. #1

    Lettura e ricerca TAG

    Ciao a tutti, ho bisogno di leggere il contenuto di alcuni TAG con javascript, il problema è che ho più pagine HTML e devo fare tutto con javascript, quindi niente asp o altri linguaggi lato server. Avrei pensato di caricare le pagine in alcuni iframe e ricercare il tag da questi, ma la prima volta che carico la pagina lo script non legge i tag, li legge solo la seconda volta che eseguo lo script

    Riuscite a trovare qualche soluzione più elegante? dove è l'errore??

    Codice PHP:
    <script type="text/javascript">

     function 
    getPage()
     {
       
    document.getElementById("writepage").src "index2.html";
       
    alert("Frame title: " readTags());        
     }

     function 
    readTags()
     {
       if (
    writepage.document.readyState != "complete"
       {
          if (
    navigator.appName == "Microsoft Internet Explorer")
          {
             var 
    iframe document.frames["writepage"].document.getElementsByTagName("span").item(0).className;
          } 
          else 
          {
             var 
    iframe document.getElementById("writepage").contentDocument.getElementsByTagName("span").item(0).className;        
          }
        } 
        return 
    iframe;
     }

    </script>


    <html>
      <body>
         <iframe id="writepage"></iframe>
         <input name="Button1" type="button" value="pulsante" onclick="getPage()">
      </body>
    </html> 

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Devi dare il tempo alla pagina di venire caricata nell'iframe... la prima volta quando esegui l'alert non hai risultato, la seconda si... ma solo perche' e stata caricata velocemente dalla cache.

    Prova ad aggiungere una pausa con setTimeout() o gestisci l'evento onload dell'iframe.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Si avevo provato, ma con la variante sotto, l'alert viene mostrato correttamente, ma questa volta mostra "Frame title: undefined", invece di leggere correttamente il valore tag

    Codice PHP:

    <html>
    <
    script type="text/javascript">

    function 
    getPage()
     {
       
    document.getElementById("writepage").src "index.html";
     }

    function 
    readTags()
     {
        if (
    writepage.document.readyState != "complete") { 
          if (
    navigator.appName == "Microsoft Internet Explorer") {
           var 
    iframe document.frames["writepage"].document.getElementsByTagName("span").item(0).className;
          } 
          else {
           var 
    iframe document.getElementById("writepage").contentDocument.getElementsByTagName("span").item(0).className;        
          }
         } 
         
    alert("Frame title: " iframe);  
     }

    </script>

    <body onload="getPage()">
       <iframe id="writepage"></iframe>
       <input name="Button1" type="button" value="pulsante" onclick="readTags()">
    </body>
    </html> 

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    E' buona norma riferirsi agli oggetti nella pagina con la sintassi completa:

    document.getElementById("id_oggetto")

    oppure

    document.name_oggetto

    e non direttamente name_oggetto.

    Inoltre e' proibito usare per oggetti, variabili, funzioni nomi duplicati o addirittura nomi riservati, quali, guarda caso, iframe.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Niente da fare, non riesco a farlo funzionare

    Dove sto sbagliando??

    sempre stesso risultato:




    Codice PHP:

    <html
    <
    script type="text/javascript"

    function 
    getPage() 

       
    document.getElementById("writepage").src "index.html"


    function 
    readTags() 

        if (
    writepage.document.readyState != "complete") { 
          if (
    navigator.appName == "Microsoft Internet Explorer") { 
           var 
    newpage document.getElementById("writepage").contentDocument.getElementsByTagName("span").item(0).className
          } 
          else { 
           var 
    newpage document.getElementById("writepage").contentDocument.document.getElementsByTagName("span").item(0).className;         
          } 
         } 
         
    alert("Frame tag: " newpage);   


    </script> 

    <body onload="getPage()"> 
       <iframe id="writepage"></iframe> 
       

       <input name="Button1" type="button" value="pulsante" onclick="readTags()"> 
    </body> 
    </html> 

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da br1
    E' buona norma riferirsi agli oggetti nella pagina con la sintassi completa:

    document.getElementById("id_oggetto")
    function readTags()
    {
    if (writepage.document.readyState != "complete") {


    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Trovato l'errore

    non doveva essere

    Codice PHP:
    (writepage.document.readyState != "complete"
    ma

    Codice PHP:
    (writepage.document.readyState == "complete"
    Grazie!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.