- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在 ebay.com 的 web View 中按下带有此代码的按钮时:
按钮的html:
input id="addPicturesBtn" name="addPicturesBtn" type="button" value="Add pictures" class="button" onclick="ebay.run(this.id,'onclick');return false;" onkeydown="ebay.run(this.id,'onkeydown');return false;" title="Add pictures"
如果在我的 webview 中按下这个按钮,它会将新窗口从我的 webview 发送到 android 浏览器。但是如果从 Android 浏览器中按下相同的按钮,它会弹出这个很酷的对话框类型弹出窗口(见图)
如果在我的 web View 中按下此按钮,我想像浏览器一样在 eBay 上打开弹出式窗口。以便用户可以关闭它,以便在完成弹出窗口后将它们返回到它后面的我的应用程序。
这可能吗?
这是我目前所拥有的:
webChromeClient = new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) {
WebView childView = new WebView(Ebay.this);
final WebSettings settings = childView.getSettings();
settings.setJavaScriptEnabled(true);
childView.setWebChromeClient(this);
childView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(childView);
resultMsg.sendToTarget();
return true;
}
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
new AlertDialog.Builder(view.getContext()).setMessage(message).setCancelable(true).show();
result.confirm();
return true;
}
我错过了什么吗?
这是 android 浏览器弹出窗口的图片(我试图让我的 webview 从 ebay.com 上的按钮启动):
最佳答案
使用javascript接口(interface)。将javascript与java结合并在java中制作自定义对话框首先,启用javascript
webview.getSettings().setJavaScriptEnabled(true);
其次,你需要添加javascript接口(interface)
wv.addJavascriptInterface(new DemoJavaScriptInterface(), "js");
第三,加载url;
webview.loadUrl("javascript:[javascript function name here]()");
给你一些代码,希望对你有帮助 https://github.com/scottagarman/Android-JavaScript-Interface-Example
代码归功于名为“scottagarman”的开发人员。
关于android - 可能 WebView OnCreateWindow 制作弹出窗口(对话框样式)?像安卓浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183102/
我正在开发 Android/Kotlin WebView。我已经设置了, webView.webViewClient = MyWebViewClient(mContext) webView.web
我可以通过在 WebView 上调用 onCreateWindow 获取 URL 吗? @Override public boolean onCreateWindow(WebView view, bo
当我点击带有 target="_blank" attributes 的超链接时,调用了 WebChromeClient#onCreateWindow 但我现在找不到方法新窗口将打开什么网址?主机页面
我正在 webview 服务上构建我的应用程序,并尝试在另一个窗口中打开新 url(既不在默认系统浏览器中,也不在同一 webview 中)。我设置了自己的 WebViewClient 和 WebCh
当我在 ebay.com 的 web View 中按下带有此代码的按钮时: 按钮的html: input id="addPicturesBtn" name="addPicturesBtn" type=
我有一个简单的浏览器应用程序,我的 onCreateWindow 看起来像这样: if (userGesture) { WebView childView = new WebV
我尝试覆盖默认的 WebChromeClient,以便让我的应用程序的 WebView 能够打开新窗口。为此,按照手册中的说明,我重写了 WebChromeClient 的“onCreateWindo
我正在尝试使用 Android API 级别 10 (sdk 2.3.3) 开发带有 WebView 的自定义浏览器,不幸的是我没有不知道如何拦截来自 webpage 的请求以在新的浏览器窗口中打开
以下是我的测试代码。我的问题是在第二页中我无法引用 AndroidFunction2。我正在使用 Android 4.4 的 Nexus 7 上对此进行测试。但是在装有Android 4.0 的sum
我是一名优秀的程序员,十分优秀!