(Information and examples taken from the DroidScript documentation)
You can create a control to display local or remote web pages in your App using the CreateWebView method of the app object:
web = app.CreateWebView( width, height, options, zoom );
options include “IgnoreErrors”, “NoScrollBars”, “ScrollFade”, “Overview”, “AllowZoom”, “UseBrowser”.
If you are loading remote web pages, then you might want to use the SetOnProgress method to set the name of a callback function that you want called to report the progress of loading the page.
You can use the LoadUrl method to load an internal or external web page or the LoadHtml method to load text directly from within your App.
web.LoadUrl( url,options );
web.LoadHtml( html,baseFolder,options );
Note: Using a WebView can be a good way of displaying colored and formatted text areas in your App. If you set the BackColor to a transparent color you can show formatted text over a background image.
If you need to, you can use the Execute method to execute JavaScript code within the WebView.
web.Execute( text );
Some controls use the same methods.
For examples of the same methods look here.
Method | Description |
---|---|
WebView.Back() | |
WebView.CanGoBack() | |
WebView.CanGoForward() | |
WebView.Capture(filename) | captures jpeg of visible page |
WebView.ClearHistory() | |
WebView.Execute( code ) | |
WebView.Forward() | |
WebView.GetAbsHeight() | |
WebView.GetAbsWidth() | |
WebView.GetHeight() | |
WebView.GetPosition() | |
WebView.GetType() | |
WebView.GetUrl() | returns the current url |
WebView.GetVisibility() | |
WebView.GetWidth() | |
WebView.LoadHtml( html,base,options ) | |
WebView.LoadUrl( url,options ) | |
WebView.Print() | KitKat or later only |
WebView.SetBackColor( color ) | |
WebView.SetBackGradient( color1,color2,color3,p4,p5,p6,p7 ) | |
WebView.SetBackGradientRadial( x,y,r,color1,color2,color3,p7 ) | |
WebView.SetBackground( imagefile,options ) | |
WebView.SetMargins( left,top,right,bottom ) | |
WebView.SetOnProgress( callback ) | |
WebView.SetPadding( width,height,top,bottom ) | |
WebView.SetPosition( left,top,width,height ) | |
WebView.SetScale( x,y ) | |
WebView.SetSize( width,height ) | |
WebView.SetVisibility( HideShow ) |
function OnStart() { lay = app.CreateLayout( "linear", "VCenter,FillXY" ); web = app.CreateWebView( 0.8, 0.8 ); web.SetOnProgress( web_OnProgess ); lay.AddChild( web ); app.AddLayout( lay ); app.ShowProgress("Loading..."); web.LoadUrl( "http:///www.google.com" ); } function web_OnProgess( progress ) { app.Debug( "progress = " + progress ); if( progress==100 ) app.HideProgress(); }
function OnStart() { lay = app.CreateLayout( "linear", "VCenter,FillXY" ); web = app.CreateWebView( 0.8, 0.8 ); web.SetBackColor( "#00000000" ); lay.AddChild( web ); app.AddLayout( lay ); web.LoadUrl( "file:///Sys/Html/Page.htm" ); }
function OnStart() { lay = app.CreateLayout( "linear", "VCenter,FillXY" ); web = app.CreateWebView( 0.8, 0.8 ); web.SetBackColor( "#00000000" ); lay.AddChild( web ); app.AddLayout( lay ); var html = "<html><head>"; html += "<meta name='viewport' content='width=device-width'>"; html += "</head><body style='color:#fff'>Hello World!<br>"; html += "<img src='Img/Droid2.png'>"; html += "</body></html>"; web.LoadHtml( html, "file:///Sys/" ); }