Passa al contenuto principale

DEFBROWSER

DesktopResponsive

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

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
VARVariabileINObbligatorioDesktopResponsive
IDStringaINDesktopResponsive
POSINObbligatorioDesktop
DIMINObbligatorioDesktop
RETINObbligatorio32.0Desktop
NASCOSTOCondizioneINDesktopResponsive
RIDIMENSIONABILEInteroINDesktop
DISABILITALINKInteroINBinarioDesktop
ABILITAIEInteroINBinario31.1Desktop
AZIONELINKINDesktop
NAVIGALINKInteroINBinarioDesktop
GRIDINDesktop
STACKINDesktop
EXPANDERINDesktop
DOCKINDesktop
PERSONALIZZABILEInteroINBinarioDesktop
LINKTOINDesktop
TOOLBARInteroINDesktop
HEADERSCollezione di BC_DA_VALUE_OPTIONIN29.3Desktop
COOKIESCollezione di BC_DA_VALUE_OPTIONIN31.4Desktop
DOWNLOADIN31.5Desktop
CONFIGURAZIONEEnumerazioneINObbligatorio32.1Desktop
OAUTH2IN32.4Desktop

VAR

VariabileINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopResponsive

Nome della variabile da associare all'edit. Il contenuto della variabile deve corrispondere all'URL della pagina HTML da visualizzare.

ID

StringaINInputValore non necessarioValore non necessarioDesktopResponsive

Definisce la variabile o la costante di programma che contiene l'identificatore univoco del controllo.

note

Viene utilizzato dall'ambiente per gestire le personalizzazioni effettuate durante l'esecuzione del programma.

POS

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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]]

note

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

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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]]

note

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

32.0INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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

CondizioneINInputValore non necessarioValore non necessarioDesktopResponsive

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

InteroINInputValore non necessarioValore non necessarioDesktop

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:

ValoreDescrizione
0No
1Si
InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

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:

ValoreDescrizione
0Non disabilita i link del documento
1Disabilita i link del documento
note

La Callback AZIONELINK non è richiamata nel caso i link siano disabilitati.

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0No
1Si

ABILITAIE

31.1InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

Se impostato, blocca il componente WebView2 e ripristina IE per quell'unica sessione.

ValoreDescrizione
0 (default)Utilizzo componente WebView2
1Utilizzo componente Internet Explorer

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0No
1Si

L'utilizzo del parametro esclude l'utilizzo del parametro COOKIES

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

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.

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

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:

ValoreDescrizione
0No
1Si

GRID

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Attached Property per pannello di tipo Grid

STACK

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Attached Property per pannello di tipo Stack

EXPANDER

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Attached Property per pannello di tipo Expander

DOCK

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente di indicare se l'oggetto deve occupare tutto lo spazio del DockPanel in verticale e/o in orizzontale (possono essere indicati entrambi).

PERSONALIZZABILE

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

Definisce l'oggetto grafico come personalizzabile dall'utente in fase di runtime.

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0No
1Si

LINKTO

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Permette di creare un legame tra due controlli esistenti all'interno della stessa videata.

TOOLBAR

InteroINInputValore non necessarioValore non necessarioDesktop

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>

ValoreDescrizione
0No Toolbar di navigazione
1Toolbar di navigazione visibile

HEADERS

29.3Collezione di BC_DA_VALUE_OPTIONINInputValore non necessarioValore non necessarioDesktop

Elenco header da aggiungere

COOKIES

31.4Collezione di BC_DA_VALUE_OPTIONINInputValore non necessarioValore non necessarioDesktop

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:

CampoDescrizione
OPTIONNome del cookie da passare alla pagina web
VALUE.VALUESValoreDelCookie; 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

31.5INInputValore non necessarioValore non necessarioDesktop
SottoParametri

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

32.1EnumerazioneINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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 JavascriptSiSiNo
Estrazione dei Cookies istanziati dalla pagina WebSiSiNo
Rilevamento del cambio di DPI del monitorSiNoNo
Abilitazione della visualizzazione dei WebMessageSiNoNo
Drag&Drop di elementi esterniSiNoNo
Abilitazione dei Tools per gli sviluppatoriSiNoNo
Salvataggio automatico delle PasswordSiNoNo
Compilazione automatica dei campi di un formSiNoNo
Abilitazione della funzionalità di prevenzione del tracciamentoSiNoNo
Livello Target di utilizzo della memoriaNormaleBassoBasso

Parametro enumerato, può assumere i seguenti valori:

ValoreDescrizione
COMPLETAConfigurazione completa di tutte le funzionalità previste da WebView2
LIGHTConfigurazione Light, pensata per la visualizzazione di file Html statici
INTERMEDIAConfigurazione intermedia, alcune delle funzionalità previste vengono disabilitate

OAUTH2

32.4INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Permette di attivare la modalità di login con OAuth2.0.