码迷,mamicode.com
首页 > Web开发 > 详细

cefsharp重写默认js弹窗(alert/confirm/prompt)

时间:2014-08-19 18:22:05      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   ar   cti   div   

 1.设置js弹窗控制器

webView.JsDialogHandler = this;  //js弹窗控制

 

2.实现接口方法

   public bool OnJSAlert(IWebBrowser browser, string url, string message)
        {
            MessageBox.Show(message);
            return true; //阻止js弹
        }

        public unsafe bool OnJSConfirm(IWebBrowser browser, string url, string message, bool* retval)
        {
            DialogResult result = MessageBox.Show(message, "提示", MessageBoxButtons.YesNo);
            bool value = result == DialogResult.Yes ? true : false;
            //   retval = (bool *)GCHandle.Alloc(value).AddrOfPinnedObject().ToPointer(); //获取托管内存地址,异常
            // retval = &value; //改变指针失败
            *retval = value;
            return true;
        }

        public unsafe bool OnJSPrompt(IWebBrowser browser, string url, string message, string defaultValue, bool* retval, ref string result)
        {
            //交互消息
            string r = string.Empty;
            this.Invoke(new Action(() =>
            {
                r = Microsoft.VisualBasic.Interaction.InputBox(message, "提示", defaultValue);
            }));
            result = r;

            if (result == defaultValue)
            {
                *retval = false;
            }
            else
            {
                *retval = true;
            }
            return true;
        }

 

cefsharp重写默认js弹窗(alert/confirm/prompt),布布扣,bubuko.com

cefsharp重写默认js弹窗(alert/confirm/prompt)

标签:style   blog   color   os   io   ar   cti   div   

原文地址:http://www.cnblogs.com/hdwang/p/3922353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!