Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    12

    Acquisire codice sorgente completo

    Salve a tutti,

    sto sperimentando un po con le funzioni GET, source.indexOf, source.substr

    Quello che avviene normalmente è:

    1. con GET do una pagina html e acquisirne il codice.
    2. con source.indexOf dico da quale punto dell HTML partire
    3. con source.substr prendo la quantità di testo dal punto di partenza settato al punto 2

    Imposto che cliccando su un bottone la funzione parte e fa come sopra descritto.

    Se però clicco due volte velocemente il bottone, il sorgente acquisito non è completo. Mi spiego meglio:

    mettiamo caso che la pagina html abbia 1000 righe al suo interno. Cliccando sulla funzione io acquisisco le 1000 righe e poi ci lavoro col source.indexOf ecc.
    Facendo un alert dopo il GET vedo che il sorgente è di 1000 righe.

    Cliccando due volte però sul bottone la funzione parte due volte, quindi il primo GET mi ritorna 1000 righe, ma la seconda volta mi ritorna 600 righe. Questo immagino perchè il rpogramma non attenda il completamento dell loading della pagina.

    Allora ho provato ad implementare i soliti:
    if (request.readyState == 4) {
    if (request.status == 200)

    ma anche così non funziona.

    Come posso fare in modo che due richieste GET molto veloci mi ritornino correttamente il sorgente?

    Grazie

    lordolol

  2. #2
    Basta che sull'onclick del pulsante tu lo disabiliti, per poi riabilitarlo quando hai ricevuto i dati..
    Così il secondo click in sequenza non esegue nulla perchè il pulsante è disabilitato:
    codice:
    onclick="document.getElementById('idDelPulsante').disabled=true;tuaFunzioneCheLeggeIDati();"
    nella tua funzione che prende i dati, quando sei sicuro di averli presi tutti (oppure se e quando è andata in errore), esegui:
    codice:
    document.getElementById('idDelPulsante').disabled=false;
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

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.