Exemple #1
0
 private void ViewWebBrowserNavigating(object sender, WebBrowserNavigatingExEventArgs e)
 {
     /*
      * // Enable POST data
      *
      * if (!String.IsNullOrEmpty(e.Data))
      * {
      *  e.Cancel = false;
      *  return;
      * }
      *
      * // Process other GET requests
      *
      * if (e.Url == null && e.TargetFrameName != null)
      * {
      *  e.Cancel = false;
      *  return;
      * }
      * else if (e.Url.Scheme == "file")
      * {
      *  if (!String.IsNullOrEmpty(e.TargetFrameName)
      *      && e.TargetFrameName[0] == '#'
      *      && e.Url.ToString() == webBrowser.Url.ToString())
      *  {
      *      e.Cancel = false;
      *      return;
      *  }
      * }
      * else if (e.Url.Scheme == "http" || e.Url.Scheme == "https")
      * {
      *  Uri url = String.IsNullOrEmpty(e.Url.Host) ?
      *      new Uri(SystemConfiguration.MobileSiteUrl + e.Url.LocalPath) :
      *      new Uri(e.Url.ToString());
      *
      *  if (url.Host == new Uri(SystemConfiguration.MobileSiteUrl).Host)
      *  {
      *      //Если не внешний сайт (== http://m.odnoklassniki.ru)
      *      ViewData["Url"] = url.ToString();
      *      OnViewStateChanged("GoToUrl");
      *  }
      *  else
      *  {
      *      //Открыть в default браузере
      *      var dRes = DialogControl.ShowQuery(Resources.WebBrowser_dialog_Text, DialogButtons.YesNo);
      *      switch (dRes)
      *      {
      *          case DialogResult.Yes:
      *              webBrowser.Stop();
      *              CoreHelper.NavigateBrowserExternal(e.Url.ToString() + e.TargetFrameName);
      *              break;
      *          case DialogResult.No:
      *              break;
      *      }
      *  }
      * }
      *
      * e.Cancel = true;
      */
 }
Exemple #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="msg"></param>
        /// <returns>true if message was processed</returns>
        private bool OnHotSpotClicked(WebBrowserAPI.HtmlViewMessage msg)
        {
            Stop();

            if (msg.target == null)
                return true;

            try
            {
                string escapedUrl = Uri.EscapeUriString(PrepareUrl(UnicodeToUtf8(msg.target)));
                string target = null;

                int idig = escapedUrl.IndexOf('#');
                if (idig > -1)
                {
                    target = escapedUrl.Substring(idig, escapedUrl.Length - idig);
                    escapedUrl = escapedUrl.Substring(0, idig);
                }

                Uri uri = null;
                try
                {
                    uri = new Uri(escapedUrl);
                }
                catch (UriFormatException)
                { }

                if (uri == null || String.IsNullOrEmpty(uri.Host))
                {
                    try
                    {
                        uri = new Uri(_url, escapedUrl);
                    }
                    catch (UriFormatException)
                    { }
                }

                string postdata = null;
                if (msg.data != null && msg.data.Length > 0)
                    postdata = UnicodeToUtf8(msg.data);
                WebBrowserNavigatingExEventArgs e = new WebBrowserNavigatingExEventArgs(uri, target, postdata);
                if (Navigating != null)
                {
                    Navigating(this, e);

                    if (!e.Cancel)
                        return false;
                }
            }
            catch (UriFormatException)
            {
                return true;
            }
            catch (Exception)
            {
                return true;
            }
            return true;
        }
Exemple #3
0
        private void ViewWebBrowserNavigating(object sender, WebBrowserNavigatingExEventArgs e)
        {
            /*
            // Enable POST data

            if (!String.IsNullOrEmpty(e.Data))
            {
                e.Cancel = false;
                return;
            }

            // Process other GET requests

            if (e.Url == null && e.TargetFrameName != null)
            {
                e.Cancel = false;
                return;
            }
            else if (e.Url.Scheme == "file")
            {
                if (!String.IsNullOrEmpty(e.TargetFrameName)
                    && e.TargetFrameName[0] == '#'
                    && e.Url.ToString() == webBrowser.Url.ToString())
                {
                    e.Cancel = false;
                    return;
                }
            }
            else if (e.Url.Scheme == "http" || e.Url.Scheme == "https")
            {
                Uri url = String.IsNullOrEmpty(e.Url.Host) ?
                    new Uri(SystemConfiguration.MobileSiteUrl + e.Url.LocalPath) :
                    new Uri(e.Url.ToString());

                if (url.Host == new Uri(SystemConfiguration.MobileSiteUrl).Host)
                {
                    //Если не внешний сайт (== http://m.odnoklassniki.ru)
                    ViewData["Url"] = url.ToString();
                    OnViewStateChanged("GoToUrl");
                }
                else
                {
                    //Открыть в default браузере
                    var dRes = DialogControl.ShowQuery(Resources.WebBrowser_dialog_Text, DialogButtons.YesNo);
                    switch (dRes)
                    {
                        case DialogResult.Yes:
                            webBrowser.Stop();
                            CoreHelper.NavigateBrowserExternal(e.Url.ToString() + e.TargetFrameName);
                            break;
                        case DialogResult.No:
                            break;
                    }
                }
            }

            e.Cancel = true;
            */
        }