有没有人知道在WebView中是否有办法拦截"找不到页面"或"页面未加载错误"?
根据android文档,onReceivedError()应该可以拦截.但我在一个应用程序测试它,我删除了错误的URL,它没有做任何事情.
我希望我的应用程序能够提供我自己的自定义错误消息,如果URL由于任何原因不可用.
这是没有做任何事情的代码:
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// custom error handling ... show and alert or toast or something
}
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种方法在现有的Swing-Application中集成Web-Browser-Component,并找到了WebView for Java FX 2.0.此外,我在java.net上发现了一篇博客文章,展示了如何将Java FX组件集成到Swing应用程序中.所以我想这可能是可行的,但我还没有尝试过.
我很好奇,你认为这是一个好方法吗?还有更好的解决方案吗?它甚至可行吗?也许是预先分类的东西?
的动机是:我想整合一些WebBrowser- 无论到现有的Swing应用中,长期目标被达到所有摆脱整个Java桌面应用程序的,与基于Web的解决方案替换它(该计划是慢慢地将现有方面转换为网页,然后将其显示在WebBrowser-Component中,直到除了浏览器骨架之外没有任何剩余的swing应用程序.后端当然仍然是Java :-)
我还没有尝试过,因为我没有时间将JavaFX与我的项目集成(这是一项工作,我们只是在长期探索替代方案),所以我最好在我被烧毁之前询问.
我有一个在iOS上运行良好的webview,但不适用于Android.是否有工具可以在浏览器中连接到Android webview并使用firefox或webkit控制台进行调试?目前我不知道是什么导致webview无法在Android中运行.
在iOS中,我可以打开我的iPad或iPhone模拟器,打开webview窗格,在我的桌面浏览器中,我听到端口9999,它向我展示了你在webkit开发人员工具/调试工具中看到的工具.
我正在为Android寻找类似的工具,或者至少让我开始调试.
我一直在研究PhoneGap,现在我陷入僵局,需要一些建议.我知道PhoneGap本质上是将'html5,css,JS网站'转换为"应用程序"进行分发,这引出了我的问题:
为什么不能简单地利用活动中的webview来做同样的事情并保持应用本地化?
在我的应用程序中,我有一个ScrollView,其中包含一些线性视图,一些textview和一个Webview,然后是其他线性布局等.问题是WebView不会滚动.Scroll仅侦听ScrollView.有什么建议??
<ScrollView >
<TextView />
<WebView /> <-- this does not scroll
<TextView />
</ScrollView >
Run Code Online (Sandbox Code Playgroud) 我的应用程序在Google Play上运行,并且在大多数设备上运行良好(数千名用户).但在极少数情况下(每日活跃用户百分比的一小部分),Error inflating class android.webkit.WebView当我在onCreateView方法中为我的片段扩充布局时,我会得到.完整堆栈跟踪如下:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tapmedia.tapito/com.tapmedia.tapito.LockscreenActivity}: android.view.InflateException: Binary XML file line #20: Error inflating class android.webkit.WebView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2694)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759)
at android.app.ActivityThread.access$900(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5944)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: android.view.InflateException: Binary XML file line #20: Error inflating class android.webkit.WebView
at android.view.LayoutInflater.createView(LayoutInflater.java:640)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:689)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:748)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at com.tapmedia.tapito.WebViewFragment.onCreateView(SourceFile:84)
at android.support.v4.app.Fragment.performCreateView(SourceFile:1789)
at …Run Code Online (Sandbox Code Playgroud) 我想在加载webview页面时出错(无连接)时显示错误消息.这是我到目前为止,没有错误处理代码:
public class TrackerPage extends Activity {
// @Override
private WebView webview;
private ProgressDialog progressDialog;
private boolean error;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get rid of the android title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
// Set the XML layout
setContentView(R.layout.tracker_page);
// Bundle objectbundle = this.getIntent().getExtras();
webview = (WebView) findViewById(R.id.tracker);
final Activity activity = this;
// Enable JavaScript and lets the browser go back
webview.getSettings().setJavaScriptEnabled(true);
webview.canGoBack();
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public …Run Code Online (Sandbox Code Playgroud) 我有一个由a组成的android应用程序,WebWiew我需要使用代码自动登录到站点.我尝试使用postUrl()它似乎工作......但只在某些网站上.
这是我正在使用的代码:
public class webviewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webview = new WebView(this);
setContentView(webview);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient());
String postData = "login_email=myEmail@gmail.com&login_password=myPassword";
webview.postUrl("https://www.dropbox.com/login", EncodingUtils.getBytes(postData, "utf-8"));
}
}
Run Code Online (Sandbox Code Playgroud)
这个工程很大的dropbox.com,但其他网站如google.com,facebook.com等只需加载登录页面或给出错误(google.com给出了一个错误,说我需要启用Cookie).
现在我只是手工发布帖子数据; 查看站点的登录表单,并在我的代码中将名称/值字段放在postData中.在像google这样的网站上,登录表单有很多隐藏字段,我也一直在将它们添加到postData中.
如果有人能让我知道我做错了什么,请告诉我,我对此非常困惑.
我正在尝试在应用程序中的WebView中运行javascript.我正在开发Nexus 7.
html/javascript在Chromium上运行正常,但平板电脑上没有发生某些操作.有没有办法看到平板电脑上是否有任何javascript失败?一种控制台视图?
我有一个Android Webview,当我点击链接下载文件(pdf等图像)时,我收到了一条错误消息.
Error message:
Cannot call determinedVisibility() - never saw a connection for the pid
Run Code Online (Sandbox Code Playgroud)
知道我做错了吗?谁可以帮忙!?