Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Pulire una stringa con un URL

    Come posso fare a rimuovere da una stringa, contentente un URL (in formato "http://dominio/directory/pagina.asp?parametro=valore") tutto quello che c'è dal punto interrogativo in poi?

    Devo ricavarmi un URL pulito (senza parametri passati), ma dovrei fare una ricerca del carattere "?" (con una funzione tipo InStrRev di ASP) e poi rimuovere con una funzione tipo Right (sempre in ASP) tutto quello che viene dopo.

    Sapete darmi una mano?

    grazie mille

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao pictor,

    con una regular expression fai prima
    codice:
    stringa='http://dominio/directory/pagina.asp?parametro=valore';
    alert(stringa.replace(/\?.*$/,''));

  3. #3
    Mille grazie
    Spleandido

    Un altro aiutino allora.

    L'operazione la devo fare su una stringa che prende il valore della 'location' di un IFRAME.

    Però non so dove sbaglio e al secondo alert mi dice 'undefined' invece della stringa modificata

    codice:
    	var editor_frame = document.getElementById(fldName + "___Frame"); 
    	var location1 = editor_frame.contentWindow.location;
    	alert(location1);
    	location1 = location1.replace(/\?.*$/,'')
    	alert(location1)
    Un aiutino?

    Grazie

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    perché il replace è un metodo dell'oggetto location, mentre tu devi usare il replace dell'oggetto stringa.
    L'oggetto location ha la proprietà href che ti restituisce una stringa
    quindi
    codice:
    	var editor_frame = document.getElementById(fldName + "___Frame"); 
    	var location1 = editor_frame.contentWindow.location.href;
    	alert(location1);
    	location1 = location1.replace(/\?.*$/,'')
    	alert(location1)

  5. #5
    Sì infatti, ci ero appena arrivato
    Hai fatto prima di me a scrivere...

    Comunque il problema adesso è che devo utilizzarlo per accedere al "contentWindow" di un IFRAME.

    codice:
    function setBGCol(fldName,bgCol) { 
    
    	// Trovo l'IFRAME dell' FCKeditor
    	var editor_frame = document.getElementById(fldName + "___Frame"); 
    	var url = editor_frame.contentWindow.location.href;
    	var url = url.replace(/\?.*$/,'')
            // Ho il nome pulito (da noia al contentWindow?)
    	var editor_source = url.contentWindow.document.getElementById("eEditingArea");;
    	editor_source.contentWindow.document.body.style.backgroundColor = bgCol; 
    }
    Con questa funzione vorrei cambiare le proprietà di un editor di testo contenuto nell' IFRAME.

    Solo che fino ad adesso non funziona. Credevo fosse perchè l'HREF andava pulito (magari voleva solamente l'indirizzo puro).

    Però continua a non andare.

    Inoltre (lo so chiedo i mieracoli ) dovrei poter accedere al contentWindow facendoci riferimento all'URL senza parametri, ma questo non deve essere modificato (altrimenti è come se questi non venissero passati).

    Sapete darmi una mano?

    Grazie

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    stai facendo casino... una stringa è una stringa, non ha mica un contentWindow
    credo tu voglia fare questo
    codice:
    function setBGCol(fldName,bgCol) { 
      // Trovo l'IFRAME dell' FCKeditor
      var iFrame = document.getElementById(fldName +'___Frame').contentWindow.document.getElementById('eEditorArea').contentWindow;
      iFrame.document.body.style.backgroundColor=bgCol;
    }

  7. #7
    Sì hai ragione, così è molto più semplice.
    Ma in questo modo il contentWindow non prende la location dell IFRAME con i parametri passati?
    (inizialmente avevo fatto così infatti)

    Non gli danno noia?


    Comunque continua a non funzionare
    A quella riga mi dice "Necessario Oggetto"

    Dove può stare il problema?

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    a me così funziona... mettendo fldName uguale al nome dell'editor creato

  9. #9
    Ma tu che versione hai di FCKeditor?

    Io ho bisogno fondamentalmente di un metodo per ricavare il valore del testo inserito (per controllarlo) e di uno per cambiare il colore dello sfondo dell'area di testo.

    Sto provando di tutto ma sono niubbo di JS e non so bene cosa fare

    Il fldName tu lo metti come "nome" o come "nome___Frame"?

    La documentazione non la capisco benissimo perchè fa riferimenti a metodi JS che io purtroppo non conosco.
    Tipo ora sto provando con l'istruzione:
    codice:
    document.frames["TxaOcchiello___Frame"].objContent.DOM.body.bgColor='Black';
    Ma anche questo sembra non funzionare.... e non so che cosa siano .objContent e DOM (la documentazione è scarsissima.... non so dove trovare info )

  10. #10
    Ho capito l'errore!

    E' una questione di tempo.
    Essendo un pò pesante l'FCKeditor ci mette un secondo o due a caricarsi, e lì ancora non esiste, quindi dà errore.

    Esiste una funzione per aspettare il caricamento di un oggetto?

    Ho provato con una while(!window.FCKeditor) ma mi manda in loop il browser.

    A me invece servirebbe che il caricamento continui, ma che non si proceda all'istruzione successiva finchè non si è verificata la condizione che ho scritto nel while.

    Avete suggerimenti?

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.