Articles of webview

WebView不会在Lollipop设备上显示JSAlert

它没有在任何设备上显示JSAlert。 然后我设置了一个WebChromeClient: webView.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } @Override public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) { return super.onJsPrompt(view, url, message, defaultValue, result); } }); 现在它适用于所有pre-Lollipop设备。 并且不会在Lollipop设备上显示任何警报。 Logcat说“ 无法创建对话框,WebView上下文不是活动 ”。

是否可以使用content://作为WebView中元素的源

我创建了一个ContentProvider。 它导出我的assets /目录中的文件。 我正在使用content:// urls来访问WebView中的导出内容。 以下HTML按预期工作: <img src="content:///test.jpg”> 我正在尝试使用mp3音频文件的内容提供程序: url = “content:///test.mp3”; var audio = document.createElement(‘audio’); audio.src = url; audio.controls = “controls”; document.getElementById(“player”).appendChild(audio); 我收到以下错误消息。 E/MediaPlayer(24120): Unable to to create media player E/HTML5Audio(24120): couldn’t load the resource: content://…/test.mp3 exc: java.io.IOException: setDataSource failed.: status=0x80000000 我尝试了Android SDK 8和10但没有成功。 我没有在日志中看到对ContentProvider的任何访问权限。 看起来在WebView中无法访问音频标签中的内容。 这看起来很奇怪,因为以下代码按预期工作: MediaPlayer player = MediaPlayer.create(this, Uri.parse(“content:///test.mp3”) ); player.start(); […]

WebView loadDataWithBaseUrl – android 4.0.3中的奇怪问题

在我的项目中有两个WebViews,我正在交替切换这些WebViews,以便在加载我的URL时获得平滑的animation。 当我使用Webview.loadUrl()方法时,它在所有设备中都能正常工作。 但是当我使用与loadDataWithBaseUrl()相同的代码时,它在4.0.3中不起作用,但它在2.2,2.3,4.0.4,4.1设备中运行良好。 这是从WebKit跳出来的错误吗? 我尝试了很多方法来完成这项工作,但没有出路。 我真的很沮丧,搞砸了。 如果有人能告诉我一个正确的方法来完成这项工作将会非常有用。

Android PhoneGap插件,UI标签栏,调整WebView大小

我正在创建一个美味的PhoneGap插件,希望它一旦准备好就会被打开..插件大部分都已完成,我只需要一个很好的UI用户交互。 简而言之,我想创建一个“本机”android工具栏组件。 如果您通过Decaf Ninja Software为IOS实现PhoneGap UIControls Tabbar库,您将如何做。 理想的情况下; 应该从JavaScript通过PhoneGap调用工具栏到“显示”和“隐藏”。 在这些调用中,当工具栏从屏幕底部出现/消失时, WebView appView会resize。 我可以在启动时调整appView的大小; super.init(); //re-configure appView layout super.appView.setLayoutParams(new LinearLayout.LayoutParams(width, height)); 但我不确定这是否是正确的方法,同样,我怎么能在运行时这样做呢? (webview应该是应用程序启动时的fill_parent)我假设我不能在运行时中期使用XML表来更改布局。 PhoneGap库以编程方式处理所有布局,因此我应该将XML保留在其中。 此外,由于appView受到保护,除非我不在我的活动中扩展DroidGap,否则很难玩这个:( DroidGap.class /* 184 */ this.root = new LinearLayoutSoftKeyboardDetect(this, width, height); /* 185 */ this.root.setOrientation(1); /* 186 */ this.root.setBackgroundColor(-16777216); /* 187 */ this.root.setLayoutParams(new LinearLayout.LayoutParams(-1, -1, 0.0F)); 然后, /* 208 */ this.appView = […]

具有自定义标题的Android WebView发布请求

我可以看到Android文档中有两种不同的方法来发布数据并添加标题。 For setting Headers public void loadUrl (String url, Map additionalHttpHeaders) For setting Post Data public void postUrl (String url, byte[] postData) 但我真正需要的是将数据与标题一起发布。 (意味着我想要一个同时完成任务的单一方法?) 有人可以帮我解决这个问题。 谢谢 :)

如何使用QAndroidJniObject在Qt C ++中使用本机android webview

我想在我的qml应用程序中使用Android WebView。 提供的默认WebView对象使用本机呈现,但缺少多个function(例如,拦截网络请求并阻止它们的能力)。 我知道Qt允许您使用QAndroidJniObject调用本机Java API。 是否可以使用它来创建本机Android WebView周围的Qt包装器? 如果是,我该如何实现?

Android – 如果WebView可见额外的,buggus,View也是创建的

我有一个奇怪的错误:当我的RecyclerView中显示WebView时,屏幕上会出现一个新框(甚至在应用程序的边界之外)。 此框具有与WebView相同的尺寸,它出现在左下角(图像左下角的灰色框) 我将描述错误的上下文,因为我无法确定问题的根源。 仅在某些设备中发生。 示例:Android 6.0.1 w / Nexus 7.并且在具有相同版本的模拟器中不会发生。 视图/框未列在“Android设备监视器”“视图层次结构”的视图层次结构中 只有在RecyclerView中可见WebView才会发生。 没有其他观点有这个问题。 该框始终显示在屏幕的左下角(在图像中,您可以看到它位于屏幕上的后退按钮上) 该框并不总是可见。 它出现的大部分时间,有时会在滚动一点后消失(WebView仍然可见)。 我已禁用此细胞types的回收。 WebView是以XML格式创建的 。 数据加载: public static void textHtml(ChatViewHolder cvh, Message message) { cvh.webView.loadData(message.content, “text/html”, “UTF-8”); cvh.webView.setOnTouchListener((v, event) -> true); } 任何帮助解决问题或理解为什么会发生这种情况的见解将不胜感激。 如有需要,请询问更多信息。 谢谢! 问题的另一个截图。 (截图后只添加了浅绿色框) 屏幕底部有一个无意识的白框。

未调用Android webview shouldOverrideUrlLoading

在我的应用程序中,在Honeycombe 3.2版本上未调用shouldOverrideUrlLoading()。 我已经在2.2和4.0.1上进行了测试,它们都运行良好。 它是Honeycomb中的一个错误吗? 我该如何解决这个问题? 我需要在shouldOverrideUrlLoading()中为每个请求发送自定义标头 view.loadUrl(url,headers); 提前致谢。

如何使用iscroll和Android WebView将焦点字段引入视图

当我将焦点放在iScroll视图底部的表单域时,它不会向上滚动/将焦点字段带到softkeyboad上方。 任何想法? 谢谢! 这是Android项目。 https://dl.dropboxusercontent.com/u/75818136/webkitdemo.zip iScroll demo: simple body,ul,li { padding:0; margin:0; border:0; } body { font-size:12px; -webkit-user-select:none; -webkit-text-size-adjust:none; font-family:helvetica; } #header { position:absolute; z-index:2; top:0; left:0; width:100%; height:45px; line-height:45px; background-color:#d51875; background-image:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0, #fe96c9), color-stop(0.05, #d51875), color-stop(1, #7b0a2e)); background-image:-moz-linear-gradient(top, #fe96c9, #d51875 5%, #7b0a2e); background-image:-o-linear-gradient(top, #fe96c9, #d51875 5%, #7b0a2e); padding:0; color:#eee; font-size:20px; […]

WebView java.lang.SecurityException:无权修改给定的线程

我有一个使用多个WebView的应用程序。 我没有通过WebSettings设置渲染线程的优先级,尽管我仍然得到下面的例外。 到目前为止它似乎只发生在android 4.0.4上,我还没有find它的源代码。 有人碰到这个和/或知道解决方案吗? 谢谢! java.lang.SecurityException: No permission to modify given thread at android.os.Process.setThreadPriority(Native Method) at android.webkit.WebViewCore$WebCoreThread$1.handleMessage(WebViewCore.java:712) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:789) at java.lang.Thread.run(Thread.java:856)