Domanda

Ho un'estensione che aiuta a presentare automaticamente i moduli per un processo di lavoro. Stiamo facendo funzionare in un problema con le scatole selezionare Dual in cui viene selezionata un'opzione e quindi che la selezione cambia le opzioni di un altro campo. Dal momento che l'impostazione di una proprietà opzione selezionata su true non innesca evento OnChange del campo che sto cercando di farlo attraverso il codice.

Il problema che ho incontrato è che se provo ad accedere o eseguire funzioni sull'oggetto campo dall'estensione, ottengo l'errore

  

Errore: eccezione non identificata: [Exception ... "componente non è disponibile" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" percorso: "JS telaio :: cromo: //webformsidebar/content/webformsidebar.js :: :: WebFormSidebar_FillProcess la linea 499" dati: no]

la linea che causa l'errore è ...

if (typeof thisField.onchange === 'function')

La linea a destra prima funziona bene ...

thisField.options[t].selected=true;

... quindi non sono sicuro perché questo si traduce in un simile errore.

Quello che mi sorprende più immagino è che il controllo per l'esistenza della funzione porta ad un errore.

Ci si sente come il problema è correlato al codice in esecuzione nel contesto dell'estensione invece del documento finestra del browser. Se è così, c'è un modo per chiamare una funzione nel contesto finestra del browser? Ho bisogno di iniettare in realtà codice nella pagina in qualche modo? Tutte le altre idee?

È stato utile?

Soluzione

L'unico modo che abbiamo trovato questo potrebbe essere fatto è iniettando codice nella pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top