`
hecal
  • 浏览: 79156 次
社区版块
存档分类
最新评论

在webview中访问互联网应用,碰到弹出窗口怎么办?

阅读更多
webview加载了一个页面,页面里点某一个button时候弹出一个确认对话框,这个对话框怎么也不显示如果直接用系统自带的浏览器是可以弹出来的请问是怎么回事?webview加载了一个页面,页面里点某一个button时候弹出一个确认对话框,这个对话框怎么也不显示如果直接用系统自带的浏览器是可以弹出来的

请问是怎么回事?


解决方法:(未经证实)

1。

重载WebChromeClient的onJsConfirm方法

final Context myApp = this;
final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
        new AlertDialog.Builder(myApp)
        .setTitle("App Titler")
        .setMessage(message)
        .setPositiveButton(android.R.string.ok,
                new DialogInterface.OnClickListener()
        {
            public void onClick(DialogInterface dialog, int which)
            {
                result.confirm();
            }
        })
        .setNegativeButton(android.R.string.cancel,
                new DialogInterface.OnClickListener()
        {
            public void onClick(DialogInterface dialog, int which)
            {
                result.cancel();
            }
        })
        .create()
        .show();

        return true;
    }
}



2。

重写onCreateWindow即可
@Override
                public boolean onCreateWindow(WebView view, boolean dialog,
                        boolean userGesture, Message resultMsg) {
                    WebView childView = new WebView(getActivity());
                    final WebSettings settings = childView.getSettings();
                    settings.setJavaScriptEnabled(true);
                    childView.setWebChromeClient(this );
                    WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
                    transport.setWebView(childView);
                    resultMsg.sendToTarget();
                    mHadOnCreateWindow = true;
                    return true;
                }

记得要
     final WebSettings settings = mWebView.getSettings();
       settings.setJavaScriptEnabled(true);
       settings.setJavaScriptCanOpenWindowsAutomatically(true);

分享到:
评论
2 楼 honghe 2013-10-28  
请问我重写了 onCreateWindow,但处理window.open事件的时候总是弹出浏览器选择窗口,您是怎么解决的?
1 楼 weipt 2012-06-11  
mHadOnCreateWindow ?

相关推荐

    WebView应用实例

    在移动开发领域,WebView是一个重要的组件,它允许开发者在原生应用程序中嵌入网页内容,实现与Web的交互。在Android平台上,WebView是Android SDK的一部分,提供了在本地应用中展示网页的能力。通过WebView,开发者...

    WebView 的简单应用

    在Android开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内部嵌入一个网页浏览器,使得用户可以在不离开应用的情况下浏览网页内容。本教程将详细讲解如何使用WebView进行简单的应用开发,以及Java、...

    webview通过代理访问网络

    在Android应用开发中,Webview是一个非常重要的组件,它允许开发者在应用内嵌入网页浏览功能。有时,我们可能需要让Webview通过代理服务器来访问网络,这在调试、测试或者特殊需求的应用场景中十分常见。本文将详细...

    Android-popup-webview-handler:这是一个Android Studio项目,显示了如何处理Android Webview中的弹出窗口。 大多数开源浏览器不支持打开弹出窗口。 在许多网站(例如,www.feedly.com)中使用的OAuth登录中,弹出窗口尤为重要。 该项目中的弹出窗口会在对话框中打开,可以通过关闭按钮或按“上一步”将其关闭,或者弹出窗口会自行关闭(就像大多数登录身份验证流程中发生的一样)

    Android弹出式WebView处理程序 这是一个Android Studio项目,... 该项目中的弹出窗口会在对话框中打开,可以通过关闭按钮或按“上一步”将其关闭,或者弹出窗口会自行关闭(就像大多数登录身份验证流程中发生的一样)。

    WPF简要制作浏览器 WPF中使用WebView2控件 WPF 应用中的 WebView2 WPF集成WebView2 完整例子

    WPF简要制作浏览器 WPF中使用WebView2控件 WPF 应用中的 WebView2 WPF集成WebView2 完整例子及Demo c#使用WebView2例子

    IOS webview 图片弹出

    本篇将深入探讨“IOS webview 图片弹出”这一主题,帮助开发者了解如何在iOS的Webview中实现图片的弹出功能。 首先,我们需要了解`UIWebView`或其现代替代品`WKWebView`。`UIWebView`是苹果早期提供的API,用于在...

    在android的webview中实现websocket通信

    在 Android 的 WebView 中实现 WebSocket 通信是当前移动端应用开发中的一个热门话题。WebSocket 是 HTML5 规范中的一项技术,可以实现客户端与服务器之间的实时双向通信。在桌面浏览器中,WebSocket 技术已经得到了...

    webView2应用实例

    基于.net 6core 的wpf 下 webView2控件 + vue3 vite开发,主要有以下几点:1、webView连接vue项目页面,2、wpf和前端页面项目打包成本地应用,3、wpf与页面之间的通信,包括消息互通传递以及js中调用C#对象

    webview加载到底自动弹出gallery

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用中内嵌网页内容,实现与网页的交互。而“webview加载到底自动弹出gallery”的功能则是为了提供一种用户友好的体验,当用户在WebView中浏览内容滑动...

    android webview开发应用

    在Android平台上,WebView是一个强大的组件,它允许开发者在原生应用程序中嵌入网页内容,实现与Web技术的交互。这个“android webview开发应用”显然提供了相关的源代码,为开发者提供了一个学习和研究的实例。以下...

    如何在webview中访问APP包中本地资源,提高手机应用速度

    借助Webview技术制作手机APP,有很多优点,但如果资源都是网上的话,速度会有些慢,可把一些JS,CSS,图片放到APP包中,提高速度,减少网络流量,通过很多次尝试网络上的一些说法,如file:///android_asset/xxxx,APK...

    QT通过WebView访问外部网页

    在QT中,`QWebView`是一个非常重要的组件,它允许开发者在应用程序内显示和交互HTML内容,包括访问外部网页。这个"QT通过WebView访问外部网页"的主题涉及到的关键知识点如下: 1. **QWebView组件**:`QWebView`是QT...

    Android在webView中识别二维码

    `WebView`是Android SDK提供的一种组件,它允许在应用程序内部加载和显示网页内容。在`WebView`中加载网页时,我们可以通过重写`WebViewClient`的`shouldOverrideUrlLoading()`方法来处理页面中的链接点击事件。 要...

    Android应用内嵌网页WebView

    在Android应用开发中,内嵌WebView是一个非常常见的需求,它允许开发者在应用程序中展示网页内容。WebView组件是Android SDK提供的一种原生控件,能够直接在应用内部加载和显示HTML、CSS以及JavaScript等内容,极大...

    如何在WebView中嵌入本地组件

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。然而,有时我们可能需要在WebView中嵌入一些本地组件,比如自定义的按钮、输入框等,以实现更复杂的交互功能。这篇博客...

    Android和Iphone如何在webview中调用原生日期选取控件?

    在移动应用开发中,经常会遇到在Web视图(如Android的`WebView`和iOS的`UIWebView`)中集成原生功能的需求,特别是在处理日期选取这类常见操作时。本篇文章将详细探讨如何在Android和iOS平台上,利用原生的日期选取...

    Android-解决在webview中input标签type="file"不能使用的问题

    在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中嵌入网页内容,提供了一种混合式开发的解决方案。然而,在实际使用中,我们可能会遇到一些问题,比如在WebView中使用`<input type="file">`...

    [转帖]通过WebView获取访问网页的源代码

    在Android应用开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容。有时,我们可能需要获取用户通过WebView浏览的网页源代码,以便进行进一步的数据分析或者实现特定功能。这篇博客...

    在webView界面的ActionBar中显示加载进度

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容。当我们需要在WebView中加载网页时,用户通常希望看到加载进度,以便了解网页加载的状态。"在webView界面的ActionBar中显示加载...

    Android底部滑动弹出窗口源码

    接着,WebView的操作是Android应用中常见的需求,它允许开发者在应用内部展示网页内容。这通常涉及到`WebView`的初始化、加载URL、设置WebChromeClient和WebViewClient、处理JavaScript交互等步骤。在本项目中,可能...

Global site tag (gtag.js) - Google Analytics