====== WebView control ====== //(Information and examples taken from the DroidScript documentation)// ===== Description ===== You can create a control to display local or remote web pages in your App using the **CreateWebView** method of the **[[built_in:app|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 ); ===== Methods ===== Some controls use the same methods.\\ For examples of the **[[same methods]]** look here. ^Method ^Description ^ |[[tips_tricks:webview_navigate|WebView.Back()]] | | |[[tips_tricks:webview_navigate|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 ) | | ===== Example - Remote ===== 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(); } ===== Example - Local ===== 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" ); } ===== Example - Direct ===== 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 += ""; html += "Hello World!
"; html += ""; html += ""; web.LoadHtml( html, "file:///Sys/" ); }