Come submit i comandi JavaScript o jquery su elementi taskar di webview?

  1. Ho creato una scena e un elemento webview1 con:

    • modalità: url
    • fonte: www.google.com
  2. ha creato un task per mostrare la scena
  3. Ora, voglio creare un task JavaScript da submit alla visualizzazione Webview:

  4. Elevazione su Android Lollipop non funziona
  5. Portale captivo sul dispositivo android
  6. Sostituzione di un frammento con un altro frammento all'interno del gruppo di attività
  7. L'esploratore di file DDMS non può accedere ai dati \ dati (HTC Desire HD)
  8. Limitare l'area in cui l'utente può accedere a Mapview
  9. Vista di text con diversi testi colorati nel codice xml
    • $ ("# q") .val ("Chuck Norris");
    • . $ ( "# Tasto ricerca") clicca ();

PS: Non voglio eseguire solo Javascript, voglio eseguirlo nella visualizzazione Webview aperta.

  • Sta sviluppando un'applicazione per Android utilizzando Lua solo ansible?
  • InflateException: Linea file binaria binaria # 1: errore di gonfiaggio della class <unknown> causato da OutOfMemoryError
  • File Android APK: ritriggers il vecchio file APK in Google Play Store
  • Configurazione di ProGuard con i progetti di libreria Android
  • Un server che invia notifiche push a dispositivi Android e iOS
  • Tempo di connessione di Http su Android non funzionante
  • One Solution collect form web for “Come submit i comandi JavaScript o jquery su elementi taskar di webview?”

    Non capisco davvero che cosa potrebbe essere il punto di creare scene di webview e di agire su di loro, quando ciò che ti serve può essere raggiunto "silenziosamente". Puoi interrogare pagine web e attraversare la loro struttura DOM senza nemless visualizzare.

    Tasker support JavaScript e carica librerie esterne. Date un'occhiata qui per una spiegazione più dettagliata: tasker.wikidot.com/userguide-en:javascript

    In alternativa, puoi dare a SL4A un indirizzo: code.google.com/p/android-scripting/

    Hai provato ad aggiungere un'azione (Javascript o SL4A) all'evento Page Loaded nelle properties; WebView?

    // modifica

    @fredericoallan

    Quello che devi fare / utilizzare è giocare con HTTP GET e HTTP POST per submit intestazioni e sessioni di gestione (ti consiglio il plugin tasker: RESTask per quello in quanto consente l'invio di intestazioni). Ma prima cosa prima.

    Propedeuticità

    Per poter submit intestazioni e impostare la session, è necessario scoprire quali intestazioni e cookie vengono inviati quando apri la pagina e / o clicca il button di login . Per vedere che (se utilizzi il cromo) puoi utilizzare gli strumenti sviluppati da Chrome. Basta fare clic con il button destro del mouse su una pagina e select "ispezionare l'elemento". Nella window che apparirà, vai alla scheda "networking"

    session

    Basta aggiornare la pagina e osservare la scheda di network . La prima richiesta nell'elenco dovrebbe essere il metodo GET e digitare text/html . Cliccalo. Seleziona la scheda headers nel riquadro destro. Dovresti notare che l'ID di session viene memorizzato in un cookie sotto PHPSESSID . Ci serviranno queste informazioni in seguito

    intestazioni

    Per essere in grado di accedere, è necessario disporre di una session aperta, altrimenti il ​​server vi nega l'accesso. Abbiamo verificato come e where viene memorizzata la chiave di session, pertanto possiamo dare un'occhiata alle intestazioni di accesso (dobbiamo sapere come il tuo nome utente e il passaggio vengono inviati al server).

    Avendo ancora gli strumenti per gli sviluppatori, fai clic sul button di login . Il contenuto della scheda di network dovrebbe essere cambiato. Ciò che è interessante per noi è la prima richiesta inviata ( index.php?act=login , metodo POST , tipo text/html ). Quando cliccati, dovremmo vedere cose come l'indirizzo remoto, l'URL di richiesta, il metodo di richiesta e poco più in basso sotto i Form Data contengono username, password, invia gli attributi.

    build il task di Tasker

    Ora, dopo aver raccolto tutte queste informazioni, possiamo procedere alla creazione di un task che ci accede.

    1. creare l'azione HTTP GET (senza ulteriori parametri / intestazioni) che punta a redmine.demo.org . In una risposta al server riceverai il markup HTML, le intestazioni e il cookie da impostare.
    2. estrarre% sessionID dal cookie (utilizzando la variabile di ricerca e la sostituzione o la sezione variabile)
    3. creare un'azione POST HTTP che indirizza a https://www.untergrund.net/index.php?act=loginpost con un'intestazione: Cookie=%sessionID username=%userid Cookie=%sessionID e parametri: username=%userid , password=%pass , PHPSESSID=%sessionID

    siete ora connessi. La risposta ricevuta contiene una pagina che viene visualizzata dopo l'accesso.

    esempio di codice

     HTTP loggin in (119) A1: RESTask [ Configuration:REST call Package:com.freehaha.restask Name:RESTask Timeout (Seconds):30 ] A2: Test Variable [ Type:Length Data:%rthdr_set_cookie Store Result In:%sesslen ] A3: Variable Section [ Name:%rthdr_set_cookie From:1 Length:%sesslen-8 Adapt To Fit:Off Store Result In:%sessionID ] A4: RESTask [ Configuration:REST call Package:com.freehaha.restask Name:RESTask Timeout (Seconds):30 ] 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.