Articles of webview

Android webView – 如何更改webView对话框的背景颜色?

在Android中我有一个打开的webview,我已经设置了这样: webView= (WebView) findViewById(R.id.webview); webView.setWebChromeClient(new WebChromeClient()); webView.setWebViewClient(new myWebViewClient()); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl(url); 但现在在webview会话期间会popup一个列表视图,我想改变该列表视图的背景颜色。 现在它的白色,我希望它是灰色的? 有没有办法强制执行此操作? 列表项来自Web服务器。 我只是显示一个webview。 我只是把它传给了一个url。 我没有适配器,因为我没有listview。 它在一个网页上 它是我的公司网络服务器,所以我可以传递javascript,如果这将有所帮助。 我注意到的是在某些设备上颜色是不同的。 有时灰色有时白色。 不知道最近发生了什么。 你可以看到我从照片中注意到的另一件事,列表视图出现在webview窗口之外。 这可能暗示我这可能是webview使用的本机对话框。 那么我可以在android中设置一个主题元素吗?

使用本地资产/ HTML /资源时,jQuery getScript在Android WebView中不起作用

我有一个包含WebView的原生Android应用程序。 我的所有HTML,js和css都已添加到assets文件夹中的Android项目中,所以我在Java代码中初始化我的WebView就像这样…… WebView webView = (WebView)findViewById(R.id.webview); webView.loadUrl(“file:///android_asset/index.htm”); 一切正常,直到我需要使用jQuery getScript方法从JavaScript动态加载其他js文件… var scriptUrl = “scripts/dynamicScript.js”; $.getScript(scriptUrl , function() { alert(“Success”); }) .fail(function(e){ alert(“failed: ” + JSON.stringify(e)); }); 基本上脚本没有加载,我收到以下消息: failed: {“readState”:4,”responseText”:””, “status”:404, “statusText”:”error”} 我还尝试了以下scriptUrl的替代方案,并得到完全相同的结果和消息: “/scripts/dynamicScript.js” “./scripts/dynamicScript.js” “android_asset/scripts/dynamicScript.js” “../android_asset/scripts/dynamicScript.js” “file:///android_asset/scripts/dynamicScript.js” 我希望这可能与同源策略有关 。 任何帮助实现这项工作表示赞赏。 编辑:另外 我现在也尝试了以下$ .getScript()的替代方法。 使用非异步’脚本’ajax调用。 这导致与上面完全相同…… $.ajax({ url: scriptUrl, dataType: ‘script’, success: function() { alert(“Success”); }, error: […]

Android WebView:调用活动方法形成JavaScript界面

是否可以从WebView对象的JavaScript接口调用main活动的方法? 或者从此界面访问SharedPreferences,以便我可以使用我的活动读取数据? 我想让我的活动知道发生了一个特定的JavaScript动作。

Android:WebView ActionBar(Honeycomb)?

我有MyView与WebView元素。 当我在网页视图中“长按”时,popupActionBar。 如果我尝试访问操作栏,就像 getActionBar() 在我的活动中的某个地方,我得到了空。 Web视图似乎正在使用某种菜单popup窗口。 问题: 我该如何访问该操作栏? 如何设置操作栏,以便在显示时将活动向下移动(因此ActionBar位于其上方> position:absolute)?

Dom迭代导致半webview渲染

即时通讯使用android打开本地Web文件,然后迭代dom并应用一些更改,但迭代webview停止在一些随机部分呈现页面,看看gif: 我已经做了什么 var elements = document.querySelectorAll(“P”); for(var i = 0; i < elements.length;i++) { //just iterating at the gif im chaging //but i tried without changing, just iterating and the result still the same } 现在为了避免在每个dom更改时出现渲染问题,我创建了一个documentFragment并更改了dom(或者只是迭代)并将其html返回到主文档 var x = document.getElementById(‘contentRoot’); //getting the element root from the DOCUMENT (not the fragment) var frag = document.createDocumentFragment(); //creating […]

Android:在自定义WebView中从onLongPress打开ContextMenu

我目前正在尝试获取一个自定义WebView,当它被按下较长时间时会显示一个ContextMenu。 由于默认WebView类仅在链接为longPressed时显示ContextMenu,因此我编写了自己的类来覆盖此行为: public class MyWebView extends WebView { Context context; GestureDetector gd; public MyWebView(Context context, AttributeSet attributes) { super(context, attributes); this.context = context; gd = new GestureDetector(context, sogl); } @Override public boolean onTouchEvent(MotionEvent event) { return gd.onTouchEvent(event); } GestureDetector.SimpleOnGestureListener sogl = new GestureDetector.SimpleOnGestureListener() { public boolean onDown(MotionEvent event) { return true; } public void onLongPress(MotionEvent […]

将Android webview呈现为位图,html5 javascript,回调问题

我有一个带有按钮,图像和webview的活动。 我的目标是加载页面,然后在其上执行javascript以使用HTML5等绘制图形。 html5绘制的图像高度未知/可变,但宽度应始终与手机的宽度/或浏览器窗口相同。 我有一个javascript界面​​来获取一个包含信息的回调,它现在已经完成了调用绘图function,它给了我高度。 这是Web视图的设置 mWeb = (WebView) findViewById(R.id.webView1); mWeb.clearCache(true); mWeb.addJavascriptInterface(new IJavascriptHandler(), “cpjs”); mWeb.getSettings().setJavaScriptEnabled(true); mWeb.loadUrl(” http://theURL.com “); mWeb.setInitialScale(100); mWeb.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR); mWeb.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url){ mWidth = mWeb.getWidth(); mHeight = mWeb.getHeight(); view.loadUrl(“javascript: Tools.adjustWidth(” + mWidth + ” )”); String javaCouponRender = “renderCoupon(” + kupongJson + “, 0); void(0)”; view.loadUrl(“javascript: ” + javaCouponRender); […]

Android WebView – Youtubevideo无法在应用程序中播放

我有一个活动,它使用WebView显示网页。 在该页面中,有一个指向YouTubevideo的链接(因此它不是我可以或需要嵌入的video)。 问题是video无法播放 – 当我点击播放按钮时,会出现一个错误页面,说“网页不可用vnd.youtube:SVF8Ghl6d8xx的网页可能会暂时关闭,等等等等等等!” 如果你知道我想要的话,请回答! 我已经浏览了stackoverflow上的几乎所有相关post,所以不需要引用其他post/问题。 MainActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // add the custom view to the action bar webView = (WebView) findViewById(R.id.webView1); webView.getSettings().setJavaScriptEnabled(true); if(Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) webView.getSettings().setPluginState(WebSettings.PluginState.ON); //Helps flash run on a device webView.getSettings().setBuiltInZoomControls(true); webView.setWebViewClient(new WebViewClient ()); webView.setWebChromeClient(new WebChromeClient()); webView.getSettings().setUseWideViewPort(true); //webView.getSettings().setUseWideViewPort(false); webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); webView.loadUrl(url); } 以下代码使它在youtube应用程序中运行,但我希望video在我的应用程序中运行:( @Override protected void […]

WebView中的边框大小呈现不同

我有一个移动网页,我正在使用WebView查看,但由于某种原因,它呈现不同的边框 – 1px或2px厚。 有谁经历过这个? 因此下面的示例图片显示了如何使用1px top和2px bottom渲染具有1px top和1px bottom border的div。 这个问题也出现在其他地方,这使得设计看起来很便宜…… 有什么建议么? 一些代码 活动 import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); deleteDatabase(“webview.db”); deleteDatabase(“webviewCache.db”); WebView mywebview = (WebView) findViewById(R.id.webview); mywebview.loadUrl(“http://example.mobi/”); WebSettings webSettings […]

如何覆盖webview的文本选择上下文菜单?

我有一个要求,比如当我长按网页视图中的文字时,点击长按,我应该设置我的自定义上下文菜单项而不是“选择”,“全选”,“网页搜索”。 请帮帮我。 想要覆盖这些默认的“全选”,“复制”,“分享”,“网络搜索”。 在这个地方想要我的自定义菜单。