示例#1
0
        public static Task <string> ExecuteScriptAsync(AWebView webview, string script)
        {
            var jsResult = new JavascriptResult();

            webview.EvaluateJavascript(script, jsResult);
            return(jsResult.JsResult);
        }
示例#2
0
        async Task <string> OnEvaluateJavaScriptRequested(string script)
        {
            var jsr = new JavascriptResult();

            Control.EvaluateJavascript(script, jsr);

            return(await jsr.JsResult.ConfigureAwait(false));
        }
示例#3
0
		Task<string> OnEvaluateJavaScriptRequested(string script)
		{
			var jsr = new JavascriptResult();

			Control.EvaluateJavascript(script, jsr);

			return jsr.JsResult;
		}
            public override void OnPageFinished(WebView view, System.String url)
            {
                //Parse Site with JavascriptResult class (0 - Text, 1 - Image)
                var jsr = new JavascriptResult(0);

                view.EvaluateJavascript("document.getElementsByClassName('radioco-nowPlaying')[0].innerText.toString()", jsr);

                jsr = new JavascriptResult(1);
                view.EvaluateJavascript("document.getElementsByClassName('radioco-image')[0].src.toString()", jsr);
            }
        public JavascriptResult ExecuteJavaScript(string script)
        {
            JavascriptResult result = new JavascriptResult();

            this.RunOnUiThread(() => {
                _webView.EvaluateJavascript(script, result);
            });

            return(result);
        }
示例#6
0
        async Task <string> OnEvaluateJavaScriptRequested(string script)
        {
            var jsr = new JavascriptResult();

            Device.BeginInvokeOnMainThread(() =>
            {
                Control?.EvaluateJavascript(script, jsr);
            });

            var result = await jsr.JsResult;

            return(result);
        }
示例#7
0
 public static void EvaluateJavaScript(this AWebView webView, EvaluateJavaScriptAsyncRequest request)
 {
     try
     {
         var javaScriptResult = new JavascriptResult();
         webView.EvaluateJavascript(request.Script, javaScriptResult);
         request.RunAndReport(javaScriptResult.JsResult);
     }
     catch (Exception ex)
     {
         request.SetException(ex);
     }
 }
示例#8
0
            public override void OnPageFinished(WebView view, System.String url)
            {
                var jsr = new JavascriptResult(ctx);

                //Removes unwanted itmes and sets WebView as visible
                view.LoadUrl("javascript:(function() { " +
                             "document.getElementsByClassName('page-header-block')[0].style.display='none'; })()");
                view.LoadUrl("javascript:(function() { " +
                             "document.getElementsByClassName('radiocontainer')[0].style.display='none'; })()");
                view.LoadUrl("javascript:(function() { " +
                             "document.getElementsByClassName('main-nav main-navigation')[0].style.display='none'; })()");


                view.Visibility = ViewStates.Visible;
            }
示例#9
0
        public JavascriptResult Execute(string script, Dictionary <string, object> properties)
        {
            var result         = new JavascriptResult(properties);
            var external       = new JavascriptExternal(result, WebFileHandler);
            var autoResetEvent = new AutoResetEvent(false);

            using (var ie = new WebBrowser())
            {
                ie.ObjectForScripting = external;
                ie.DocumentCompleted += DocumentCompleted(autoResetEvent);

                var html = GetHtml(script);
                ie.DocumentText = html;

                while (!autoResetEvent.WaitOne(100))
                {
                    Application.DoEvents();
                }
            }

            return(result);
        }
示例#10
0
 public void LogError(string message, int lineNumber = 0, int column = 0, string filename = null, string line = null)
 {
     JavascriptResult.LogError(message, lineNumber, column, filename, line);
 }
示例#11
0
 public object Get(string name)
 {
     return(JavascriptResult.Get(name));
 }
示例#12
0
 public void Set(string name, object value)
 {
     JavascriptResult.Set(name, value);
 }
示例#13
0
 public JavascriptExternal(JavascriptResult result, IWebFileHandler webFileHandler)
 {
     JavascriptResult = result;
     WebFileHandler   = webFileHandler;
 }