DEFBROWSER
La specifica '@DEFBROWSER permette di definire un visualizzatore di pagine HTML ed è disponibile a partire da BC/X v.21.6.
Dalla versione 31.1, la DEFBROWSER passa dall'utilizzo del componente di Internet Explorer all'utilizzo del componente WebView2 di Edge.
Dalla versione 31.5, è possibile attivare la scrittura di un log per ottenere tutte le informazioni tecniche del componente WebView2 e della specifica stessa. Per attivarlo, è necessario aggiungere il seguente parametro in un qualsiasi CFG dell'installazione usata:
[Configurazione]
Debug WebView2=1
<u>Eseguibile di test</u>
Dalla versione 31.6, è possibile avviare un'eseguibile di test per la specifica DEFBROWSER, in modo da poter provare le sue varie funzionalità direttamente dal Sismenu. Si può avviare l'eseguibile dalla voce 'STRUMENTI' -> 'Altre utilità' -> 'Eseguibile test WebView2' della Ribbon del Sismenu. Una volta avviato, verrà la videata di selezione dei parametri da passare alla specifica per l'esecuzione del test desiderato. Successivamente alla selezione dei parametri e alla pressione del bottone 'Avvia Test', verrà avviato l'eseguibile BCBROW.exe, il quale mostrerà a video la seguente videata, passando alla DEFBROWSER tutti i parametri selezionati in precedenza.
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| VAR | Variabile | ||||
| ID | Stringa | ||||
| POS | |||||
| DIM | |||||
| RET | 32.0 | ||||
| NASCOSTO | Condizione | ||||
| RIDIMENSIONABILE | Intero | ||||
| DISABILITALINK | Intero | ||||
| ABILITAIE | Intero | 31.1 | |||
| AZIONELINK | |||||
| NAVIGALINK | Intero | ||||
| GRID | |||||
| STACK | |||||
| EXPANDER | |||||
| DOCK | |||||
| PERSONALIZZABILE | Intero | ||||
| LINKTO | |||||
| TOOLBAR | Intero | ||||
| HEADERS | Collezione di BC_DA_VALUE_OPTION | 29.3 | |||
| COOKIES | Collezione di BC_DA_VALUE_OPTION | 31.4 | |||
| DOWNLOAD | 31.5 | ||||
| CONFIGURAZIONE | Enumerazione | 32.1 | |||
| OAUTH2 | 32.4 |
VAR
Nome della variabile da associare all'edit. Il contenuto della variabile deve corrispondere all'URL della pagina HTML da visualizzare.
ID
Definisce la variabile o la costante di programma che contiene l'identificatore univoco del controllo.
Viene utilizzato dall'ambiente per gestire le personalizzazioni effettuate durante l'esecuzione del programma.
POS
Coordinate di posizionamento a video del controllo. Il sistema di riferimento ha come origine il punto in alto a sinistra di coordinate (1,1) con l'asse verticale diretto verso il basso e quello orizzontale verso destra. Un incremento della prima coordinata implica uno spostamento verso il basso ed un incremento della seconda implica uno spostamento verso destra.
Consente di indicare la riga e la colonna. Per entrambi è possibile specificare l'unità di misura.
POS[RigaVid [UnitàMisura], ColonnaVid [UnitàMisura]]
L'unità di misura può essere: 'C' per il posizionamento a caratteri e 'P' per il posizionamento in pixel. L'indicazione è opzionale, se omesso si assume 'C' come default.
DIM
Dimensione del controllo.
Consente di indicare l'altezza e la larghezza. Per entrambi è possibile specificare l'unità di misura.
DIM[Altezza [UnitàMisura], Larghezza [UnitàMisura]]
L'unità di misura può essere: 'C' per il posizionamento a caratteri e 'P' per il posizionamento in pixel. L'indicazione è opzionale, se omesso si assume 'C' come default.
RET
Coordinate della cella del reticolo da associare al controllo. Queste informazioni hanno lo scopo di inserire il controllo nella logica di gestione degli spostamenti sulla videata. Il reticolo è rappresentato da una matrice i cui elementi possono essere vuoti o associati ad un controllo. Il primo elemento ha coordinate (1,1).
L'ordine di posizionamento del cursore nei controlli viene determinato in base agli elementi valorizzati della matrice. In particolare quando viene premuto il tasto 'TAB' (SHIFT+TAB) si procede verso destra (sinistra) nel reticolo fino a quando non viene recuperato un controllo. Nel caso in cui si raggiunga l'ultima colonna la ricerca prosegue partendo dalla prima (ultima) colonna della riga successiva (precedente).
Sulla pressione del tasto 'FRECCIA SU' ('FRECCIA GIU') la ricerca viene effettuata proseguendo verso l'alto (basso) in modo ciclico, ovvero non ci si sposta mai di colonna.
NASCOSTO
Attributo che consente di nascondere e visualizzare il controllo attraverso un espressione BC il cui valore logico determina la visualizzazione del controllo. Può essere indicato nella forma 'A operatore B' dove 'operatore' può essere '=, >, ≥, <, ≤, <>'.
All'interno dell'espressione è possibile utilizzare gli operatori 'AND' e 'OR' per generare istruzioni condizionali composte. Se l'espressione risulta vera il controllo viene nascosto, in caso contrario viene visualizzato.
RIDIMENSIONABILE
Indica che il controlla possa venir ridimensionato in base alla dimensione della videata. Può ricevere una costante numerica od una variabile di tipo intero.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
DISABILITALINK
Permette di disattivare la navigazione sui link interna al controllo, ovvero aprire la pagina HTML quando si preme un link eventualmente selezionato.
Nel caso i link siano disabilitati, il disegno rimarrà come link, ma il click non avrà nessun effetto. Se invece si sta utilizzando Internet Explorer, i link verranno visualizzati come testo normale (nero, senza sottolineatura).
FlagAttivazione: costante o variabile numerica. I valori ammessi sono:
| Valore | Descrizione |
|---|---|
| 0 | Non disabilita i link del documento |
| 1 | Disabilita i link del documento |
La Callback AZIONELINK non è richiamata nel caso i link siano disabilitati.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
ABILITAIE
Se impostato, blocca il componente WebView2 e ripristina IE per quell'unica sessione.
| Valore | Descrizione |
|---|---|
| 0 (default) | Utilizzo componente WebView2 |
| 1 | Utilizzo componente Internet Explorer |
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
L'utilizzo del parametro esclude l'utilizzo del parametro COOKIES
AZIONELINK
Permette di controllare l'esecuzione dei collegamenti ipertestuali da programma. La callback riceve in ingresso la variabile ZVIDLINK, valorizzata con il contenuto della proprietà href del tag HTML <a>.
L'azione di default è eseguire l'azione associata al collegamento ipertestuale: ad esempio, il collegamento ipertestuale: <a href='https://www.sistemi.com'\>Visita il nostro sito</a> apre una nuova finestra del browser. Questa può essere bloccata da programma definendo una azione vuota per il parametro AZIONELINK.
NAVIGALINK
Permette di disattivare la navigazione sui link interna al controllo, ovvero aprire la pagina HTML quando si preme un link eventualmente selezionato. FlagNavigaLink: costante o variabile numerica. I valori ammessi sono: <tabella> Valore Descrizione 0 Apre una finestra di Internet Explorer indipendente 1 Usa il controllo per aprire il link </tabella> Nota: la callback AZIONELINK non è richiamata
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
EXPANDER
Attached Property per pannello di tipo Expander
DOCK
Consente di indicare se l'oggetto deve occupare tutto lo spazio del DockPanel in verticale e/o in orizzontale (possono essere indicati entrambi).
PERSONALIZZABILE
Definisce l'oggetto grafico come personalizzabile dall'utente in fase di runtime.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
LINKTO
Permette di creare un legame tra due controlli esistenti all'interno della stessa videata.
TOOLBAR
Permette di abilitare la toolbar di navigazione del browser, con le funzionalità di 'Indietro', 'Avanti', 'Aggiorna', 'Stampa'.
FlagToolbar: costante o variabile numerica. I valori ammessi sono: <tabella> 1 </tabella>
| Valore | Descrizione |
|---|---|
| 0 | No Toolbar di navigazione |
| 1 | Toolbar di navigazione visibile |
HEADERS
Elenco header da aggiungere
COOKIES
Permette di passare alla specifica una collezione di BC_DA_VALUE_OPTION che contiene tutti i cookies da passare alla pagina web da visualizzare. Il formato della classe BC_DA_VALUE_OPTION contenente il cookie deve essere il seguente:
| Campo | Descrizione |
|---|---|
| OPTION | Nome del cookie da passare alla pagina web |
| VALUE.VALUES | ValoreDelCookie; attributo1=valore1; attributo2=valore2; ... |
Il formato usato per rappresentare i cookies all'interno della collezione è lo stesso usato dalla HTTPREST per valorizzare l'attributo 'Cookies' della classe BC_HTTPRESPONSE, quindi è possibile usare direttamente i valori ottenuti dalla chiamata http/https. Se non viene specificato l'attributo 'Domain' di un cookies, la specifica scarterà automaticamente il cookie, non prendendolo in considerazione nella richiesta di visualizzazione della pagina web.
Dalla versione 32.0 d'ambiente, il parametro passa da input a input-output: restituisce i cookies istanziati dalla pagina web durante la navigazione.
L'utilizzo del parametro esclude l'utilizzo del parametro ABILITAIE
Cookies da mandare al sito
DIM CollCookies[CLASSE[BC_DA_VALUE_OPTION] COLLEZIONE]
'Cookie con solo il valore
DIM Opzione[STRING] = "Cookie1" ' Nome
DIM ValStr[STRING] = "Valore1" ' Valore
CollCookies.AggiungiValoreStringa(ValStr, Opzione)
'Cookie con valore e altri parametri
Opzione = "Cookie2" ' Nome
ValStr = "Valore2; Domain=google.it; Path=/; IsHttpsOnly" ' Valore e attributi
CollCookies.AggiungiValoreStringa(ValStr, Opzione)
DOWNLOAD
Permette di specificare le informazioni per eseguire il download da WebView2. Se è stato abilitato il parametro ABILITAIE, le informazioni specificate per il download verranno ignorate.
CONFIGURAZIONE
Indica il livello delle prestazioni che deve mantenere la DEFBROWSER. Il parametro viene preso in considerazione solamente se viene utilizzato il componente WebView2, quindi, se è stato abilitato Internet Explorer, non viene tenuto conto del valore passato al parametro.
Per influenzare le prestazioni di esecuzione del componente, vengono abilitate/disabilitate alcune sue funzionalità, in modo da alleggerirne il carico di lavoro.
| Descrizione della funzionalità | #Completa | #Intermedia | #Light |
|---|---|---|---|
| Esecuzione Javascript | Si | Si | No |
| Estrazione dei Cookies istanziati dalla pagina Web | Si | Si | No |
| Rilevamento del cambio di DPI del monitor | Si | No | No |
| Abilitazione della visualizzazione dei WebMessage | Si | No | No |
| Drag&Drop di elementi esterni | Si | No | No |
| Abilitazione dei Tools per gli sviluppatori | Si | No | No |
| Salvataggio automatico delle Password | Si | No | No |
| Compilazione automatica dei campi di un form | Si | No | No |
| Abilitazione della funzionalità di prevenzione del tracciamento | Si | No | No |
| Livello Target di utilizzo della memoria | Normale | Basso | Basso |
Parametro enumerato, può assumere i seguenti valori:
| Valore | Descrizione |
|---|---|
COMPLETA | Configurazione completa di tutte le funzionalità previste da WebView2 |
LIGHT | Configurazione Light, pensata per la visualizzazione di file Html statici |
INTERMEDIA | Configurazione intermedia, alcune delle funzionalità previste vengono disabilitate |
OAUTH2
Permette di attivare la modalità di login con OAuth2.0.