Notizie: scarica ora l'ultima versione disponibile di SeaMonkey!

Autore Topic: [XUL]Leggere input nei frame  (Letto 2917 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline lbottoni

  • Post: 6
[XUL]Leggere input nei frame
« il: 03 Aprile 2007 10:24:26 »
Ciao,
stavo facendo delle prove con la costruzione di una estensione per firefox, ma mi sono subito imbattuto su un problema. Devo leggere un campo input messo in un frame.

ho provato con

window.parent.frames[0].document.elements["xxx"].value

ma non funziona..provando a inserire il javascript nello stesso frame funziona, se uso la javascript Shell di firefox funziona, ma inserita in una estensione no..credo sia colpa di come deve essere letto il campo..qualcuno può aiutarmi?

Posso provare le estensioni senza doverle sempre installare? :(

Offline indigo

  • Post: 1277
Re: [XUL]Leggere input nei frame
« Risposta #1 il: 03 Aprile 2007 11:47:39 »
Per la tua seconda domanda guarda se qua trovi qualcosa di utile (in particolare il paragrafo "Test")..

per il primo quesito non sono molto dotto..potrei suggerirti di ispezionare la pagina con il DOM inspector e vedere cosa ne ricavi, oppure potresti trovare un'altra estensione che fa quello che dici e sbirciare nel suo codice..

se provi a cercare aiuto sul forum di extenzilla.org (il portale italiano dedicato alle estensioni e del quale fanno parte anche diversi memebri di MI, tra i quali anch'io) forse otterrai risposte più specifiche da parte di qualche developer..

ciao!

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: [XUL]Leggere input nei frame
« Risposta #2 il: 03 Aprile 2007 12:15:09 »
Se spieghi in maniera più dettagliata cosa vuoi fare, è più facile darti una mano.
Tu vorresti leggere un campo input messo in una pagina web?

Offline lbottoni

  • Post: 6
Re: [XUL]Leggere input nei frame
« Risposta #3 il: 03 Aprile 2007 13:23:53 »
grazie a entrambi per le risposte..

klades, molto facile..mi sono fatto in locale questo frame

Codice: [Seleziona]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset rows="137*,504*" cols="*" framespacing="5" frameborder="yes" border="10">
  <frame src="up.php" name="upFrame" >
  <frame src="down.php" name="DownFrame">
</frameset>
<noframes><body>

</body></noframes>
</html>

Citazione
la pagina down.php è vuota

up.php

Codice: [Seleziona]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form method="post" id="test_form">
<input type="text" id="pippo" name="pluto" value="XULL">
</form>
</body>

</html>


devo leggere il valore del campo "pluto" e aprire un alert che mi mostri il suo "value".

indigo:Ho installato il DOM ispector in firefox, ma capirci lo trovo un pò ostico, hai qualche suggerimento di estensione?

grazie ragazzi. :)

Offline indigo

  • Post: 1277
Re: [XUL]Leggere input nei frame
« Risposta #4 il: 03 Aprile 2007 13:41:18 »
Ho fatto una prova e mi sa che il DOM non ti serve a molto..

prova a fare anche una ricerca su Google..guarda se questo ti può essere utile:

ricerca su google

numero 1 > numero 2
numero 3

gli ho dato solo una scorta ma magari ci trovi qualcosa di utile..

ciao

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: [XUL]Leggere input nei frame
« Risposta #5 il: 03 Aprile 2007 14:11:20 »
Hai provato con

Codice: [Seleziona]
window.content.frames[0].document.getElementById("pippo").value

?

Offline lbottoni

  • Post: 6
Re: [XUL]Leggere input nei frame
« Risposta #6 il: 05 Aprile 2007 11:33:05 »
peccato, sembrava troppo bello per essere vero.. :x

ho seguito tutti i passi, ma non funziona..non vedo minimamente nessun "Hello World"

non vorrei aver sbagliato il punto quando

Citazione
   1.  Apri la cartella del Profilo
   2. Apri la cartella dell'estensione (creala se non esiste)
   3. Crea un nuovo file di testo e scrivici dentro il percorso alla cartella dell'estensione, ad es. C:\extensions\myExtension\ o ~/extensions/myExtension. Salva il file con l'ID dell'estensione, per esempio sample@foo.net

ovvero..sono andato in %APPDATA%\Mozilla\Firefox\Profiles\5xehgy6u.default\extensions\mytest@miotest.nez\

e li ho aggiunto il file denominato mytest@miotest.nez.txt con al suo interno

C:\FirefoxExtension\mytest@miotest.nez\

in quest'ultimo path ho messo la chrome con tutti i file..l'unica cosa che ho modificato di tutto è da sample@foo.net a mytest@miotest.nez.


Il passaggio è forse sbagliato..devo creare quel file txt altrove?in modo diverso?..help!!

Offline lbottoni

  • Post: 6
Re: [XUL]Leggere input nei frame
« Risposta #7 il: 05 Aprile 2007 12:07:16 »
Schema Cartelle contenente estensione
Citazione
C:\FirefoxExtension\myExtension\chrome.manifest
C:\FirefoxExtension\myExtension\install.rdf
C:\FirefoxExtension\myExtension\chrome\content\sample.xul

File Manifest
Citazione
content     sample    chrome/content/
overlay chrome://browser/content/browser.xul chrome://sample/content/sample.xul

File install.rdf
Citazione
<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:id>sample@foo.net</em:id>
    <em:version>1.0</em:version>
    <em:type>2</em:type>
   
    <!-- Target Application this extension can install into,
         with minimum and maximum supported versions. -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>1.0+</em:minVersion>
        <em:maxVersion>1.5.0.*</em:maxVersion>
      </Description>
    </em:targetApplication>
   
    <!-- Front End MetaData -->
    <em:name>Esempio!</em:name>
    <em:description>Estensione di prova</em:description>
    <em:creator>Il tuo nome</em:creator>
    <em:homepageURL>http://www.iltuositoweb.com/</em:homepageURL>
  </Description>     
</RDF>

File sample.xul
Citazione
<?xml version="1.0"?>
<overlay id="sample"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 <statusbar id="status-bar">
  <statusbarpanel id="my-panel" label="Hello, World"/>
 </statusbar>
</overlay>

Schema %APPDATA%
Citazione
\Mozilla\Firefox\Profiles\5xehgy6u.default\extensions\sample\sample@foo.net

Contenuto sample@foo.net
Citazione
C:\FirefoxExtension\myExtension\

pubblico tutto quello fatto per vedere se qualcuno capisce dove ho sbagliato...ma "Hello World" dove dovrebbe apparire???

uso Firefox Ver > 2
« Ultima modifica: 05 Aprile 2007 12:09:18 da lbottoni »

Offline lbottoni

  • Post: 6
Re: [XUL]Leggere input nei frame
« Risposta #8 il: 05 Aprile 2007 16:04:57 »
ok, capito l'errore!

quando dice
3. Crea un nuovo file di testo e scrivici dentro il percorso alla cartella dell'estensione, ad es. C:\extensions\myExtension\ o ~/extensions/myExtension. Salva il file con l'ID dell'estensione, per esempio sample@foo.net

significa andare in

\Mozilla\Firefox\Profiles\nomeprofilo\extensions\

e creare un file denominato come la id inserita nel file "install.rdf"

  <Description about="urn:mozilla:install-manifest">
    <em:id>sample@foo.net</em:id>
    <em:version>1.0</em:version>
    <em:type>2</em:type>

nel mio caso:

\Mozilla\Firefox\Profiles\nomeprofilo\extensions\sample@foo.net

ricaricate firefox e in basso a dx vedrete la frase contenuta nel file XUL

per il frame ora verifico l'uso di content.document....

Offline lbottoni

  • Post: 6
Re: [XUL]Leggere input nei frame
« Risposta #9 il: 05 Aprile 2007 19:02:18 »
ci sono riuscito con

Citazione
content.frames[0].document.getElementById("pippo").value

 :D

0 Utenti e 1 Visitatore stanno visualizzando questo topic.