Come ottenere e impostare le posizioni della barra di scorrimento TChromium
in Delphi?Come ottenere e impostare le posizioni della barra di scorrimento TChromium?
8
A
risposta
1
Attualmente disputa con CefSharp, penso che questo è simile rispetto a Delphi. Ecco la mia soluzione:
public int GetVerticalScrollPosition()
{
var r = _webView.EvaluateScript(@"document.body.scrollTop");
return Convert.ToInt32(r);
}
public void SetVerticalScrollPosition(int pos)
{
_webView.ExecuteScript(
string.Format(@"document.body.scrollTop = {0}", pos));
}
Non sono più un esperto di Delphi, spero che tu possa capire il mio codice; fondamentalmente I use JavaScript to read/write the scroll positions ed esegui questi piccoli snippet JavaScript tramite i metodi EvaluateScript
e ExecuteScript
.
3
E 'possibile lavorare con oggetti JavaScript direttamente. Basta usare CefV8Context del frame.
Ecco un esempio:
var
val: ICefV8Value;
context: ICefv8Context;
excp: ICefV8Exception;
scroll: TPoint;
begin
if (Chromium1.Browser.MainFrame = nil) then
exit;
//this will work only with exact frame
context := Chromium1.Browser.MainFrame.GetV8Context;
if (context <> nil) then
begin
context.Eval('window.pageXOffset', val, excp);
scroll.x := val.GetIntValue;
context.Eval('window.pageYOffset', val, excp);
scroll.y := val.GetIntValue;
end
else
exit;
//todo: do something with scroll here
end;
0
È necessario utilizzare JavaScript TCromium.Browser. Questo è il modo più semplice:
Chromium1.Browser.MainFrame.ExecuteJavaScript('window.scrollBy(0,50)', 'about:blank', 0);
Buona fortuna!
Problemi correlati
- 1. Come impostare le posizioni della riga e della colonna della griglia a livello di programmazione
- 2. Come ottenere la posizione della barra di scorrimento con Javascript?
- 3. Impostazione della barra di scorrimento Dimensioni pollice
- 4. Media query e larghezza della barra di scorrimento
- 5. Come ottenere l'altezza della barra di stato e della barra dei tasti funzione?
- 6. Scorrimento uniforme della pagina verticale usando la rotellina del mouse e la barra di scorrimento
- 7. Come ottenere la barra di scorrimento nel Pannello in VB.Net?
- 8. Come regolare/modificare la larghezza della barra di scorrimento
- 9. Barra di scorrimento textarea
- 10. C'è un modo per ottenere l'altezza e la larghezza della barra di scorrimento?
- 11. come visualizzare una barra di scorrimento orizzontale
- 12. CSS di overflow scorrimento e barra di scorrimento nascoste (iOS)
- 13. Prevenzione del relayout a causa della barra di scorrimento
- 14. Come larghezza della barra di scorrimento utilizzando JavaScript
- 15. Interpolazione stringa e macro: come ottenere il StringContext e le posizioni di espressione
- 16. Jquery Calendario completo Rimuovi barra di scorrimento
- 17. Come abilitare barra di scorrimento/scorrimento su un WPF DataGrid
- 18. GWT - nascondi barra di scorrimento orizzontale
- 19. Barra di scorrimento come Google sta utilizzando
- 20. Modifica posizione barra di scorrimento
- 21. Come creare un segnaposto barra di scorrimento
- 22. Android: impostare la spaziatura a sinistra della barra di scorrimento in gridview
- 23. Barra di scorrimento sul contenuto
- 24. Larghezza barra di scorrimento CSS
- 25. Come ottenere le posizioni x e y di un elemento in una direttiva AngularJS
- 26. UITableView Barra di scorrimento personalizzata
- 27. Impostazione barra di scorrimento su JScrollPane
- 28. Bootstrap: come abilitare le barre di scorrimento?
- 29. Div opacità basata sulla posizione della barra di scorrimento
- 30. Attivazione sulla visibilità della barra di scorrimento di ScrollViewer (WPF)
Votato per la riapertura. Questa è, a mio avviso, una domanda valida e utile! Non c'è molto da ricercare (quindi non c'è molto da mostrare), dal momento che è probabilmente impossibile ottenere o impostare le posizioni della barra di scorrimento in CEF. – TLama
Grazie per la risposta, proverò ad un'altra soluzione. –