草庐IT

javascript - WebView JavaScript 接口(interface)似乎只能通过 Android Studio 的 Instant-Run 运行,但在通过常规 gradle 编译时却不行

设置我有一个托管WebView组件的简单fragment。在这个fragment的初始化过程中,我向我的应用程序注册了一些JavaScript接口(interface)方法:mJavaScriptHooks=newJavaScriptHooks();...mWebView.getSettings().setJavaScriptEnabled(true);mWebView.addJavascriptInterface(mJavaScriptHooks,"Android");我的JavaScript钩子(Hook)没什么了不起的,所有的声明方式如下:publicclassJavaScrip

android - 使用webview android使用POST方法下载文件

我正在使用chrome、firefox浏览器下载.pdf文件,它成功下载了文件。但是当在WebView中使用相同的文件url时,它不会下载文件。我正在使用请求方法:POST。有什么办法可以下载这种类型的文件吗?我看过这个链接:AndroidWebViewdownloadnotworking任何人都可以解决我的问题以使用其他下载方式吗?谢谢 最佳答案 使用MultiThreadDownloaderandroid插件,所以你可以通过下面的代码在webview中获取文件的直接链接:mWebView.setDownloadListener(

android - 如何在 Android 的 WebView 上启用 WebKitDeveloperExtras

如果我编写一个使用android.webkit.WebView的原生Android应用程序,我该如何为它启用WebKitDeveloperExtras?我希望能够通过WebInspector启用真正的脚本调试,而不仅仅是转储到控制台。 最佳答案 尽管WebView基于WebKit渲染引擎,但我相信这就是它与Chrome和Safari等浏览器的共同点。因此,我认为没有办法获得DeveloperExtras。 关于android-如何在Android的WebView上启用WebKitDeve

android - 如何在 WebView 中显示方向

在我的应用程序中,我想使用WebView显示谷歌地图中两个地理点之间的方向。我试过了,但它没有显示方向,它只显示标志页。怎么做?publicclassandroid_testingextendsActivity{publicWebViewwebview;protectedProgressDialogweb_pd;finalHandlerrb_web_pd_Handler=newHandler();@OverridepublicvoidonCreate(Bundleicicle){super.onCreate(icicle);setContentView(R.layout.main);w

android - Android 中 webviews 的页面 curl 效果

我正在做一个项目,我需要在滑动时在不同的Webview之间切换。我想在每次滑动时将页面curl动画应用于webview,即,当我们在webview上滑动时,它应该curl并且应该显示下一个webview。谁能帮我解决这个问题。非常感谢。 最佳答案 这是不可能的(asfaik)。有类似帖子here,他们建议使用javascript,但它似乎只适用于iOS。也就是说,您可以尝试拍摄屏幕图像并将其作为webview的叠加层,然后在图像上使用pagecurl。 关于android-Android

android webview 内容不可选择

我有一个WebView。WebView显示带有文本、图像、按钮等的html。我想做一些东西。1)该用户无法在webView中选择文本2)点击和长按按钮的行为相同。我做了接下来的事情来解决我的问题:首先,我在html页面中添加了样式:body{...-webkit-user-select:none;-webkit-touch-callout:none;...}但这对我没有帮助。此解决方案不适用于所有机器人。所以我尝试给webView添加触摸监听器。监听器代码:webView.setOnTouchListener(newOnTouchListener(){privatefloatprevX

android - (Android)有没有办法检测何时在 WebView 中选择了文本?

在API11+中,当长按WebView中的文本时,会显示上下文操作栏(CAB)。我不想覆盖现有的菜单项,因此实现我自己的ActionMode.Callback不是正确的答案。我只想知道默认CAB何时显示,以便我知道文本选择已经开始,这样我就可以锁定WebView上的滚动。有什么想法吗? 最佳答案 如果您想知道默认CAB何时出现在屏幕上,您可以在ACTION_UP之后检查它是否存在:publicclassMainActivityextendsActionBarActivity{WebViewmWebView;booleanmSelec

android - 在 Android 中使用 Cordova 5.0 构建自定义 WebView

我想用Cordova构建自定义WebView。为此,我想覆盖setWebChromeClient和setWebViewClient方法。但为此我需要一个SystemWebViewClient,它需要一个SystemWebViewEngine,我现在似乎无法获得。这是我的主要ActivitypublicclassMyActivityextendsCordovaActivityimplementsCordovaInterface{publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);i

【Android 性能优化:内存篇】——WebView 内存泄露治理

背景:笔者在公司项目中优化内存泄露时发现WebView相关的内存泄露问题非常经典,一个Fragment页面使用的WebView有多条泄露路径,故记录下。Fragment、Activity使用WebView不释放项目中一个Fragment使用Webview,在FragmentonDestroyView时候却没有释放,释放WebView还不简单嘛,于是笔者在Fragment的onDestroyView补充了如下代码:if(webView!=null){ViewGroupparent=(ViewGroup)webView.getParent();if(parent!=null){parent.rem

javascript - Cordova - 如何修改 webview 标志?

我想问一下普通Chrome浏览器(chrome://flags)中可用的标志。以前我使用Cordova的Crosswalk,我可以选择通过添加首选项xwalkCommandLine来更改config.xml中的内容。既然Crosswalk基本死了,那么在Cordova中是否可以做同样的事情呢?是否有其他首选项名称(甚至可能是插件)可以启用此功能? 最佳答案 这在Cordova使用的底层ChromeWebView中似乎是不可能的。实验性功能在Android应用程序使用的WebViewAPI中是故意不可访问的。请参阅下面关于为什么不支持