假设我通过webview加载第三方url。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webview = (WebView) findViewById(R.id.webview); webview.setWebViewClient(new HelloWebViewClient()); webview.getSettings().setJavaScriptEnabled(true); webview.setWebChromeClient(new MyWebChromeClient()); webview.loadUrl("http://ebay.com"); } 我有可能在这个WebView中注入一些东西来replace我自己的ebay标志吗?
我试图让WebView具有类似于Android浏览器的行为。 浏览器打开所有页面,尝试将宽度适合屏幕。 但是,WebView的默认行为是以100%的像素比例开始的,因此它开始放大到左上angular。 我花了几个小时试图find一种方法来让WebView像在浏览器中那样将页面缩放到屏幕上,但是我没有任何运气。 有没有人find一种方法来完成这个? 我看到的是一个名为setLoadWithOverviewMode的设置,但是这似乎没有做任何事情。 我还尝试了setInitialScale,但是在不同的屏幕尺寸和网页尺寸上,不会像浏览器缩放那样优雅。 任何人有任何线索? 谢谢 编辑:布赖恩的方法似乎工作时,手机在风景,但不是在肖像。 在纵向它是接近,但仍然不适合页面中的整个屏幕。 我开始这个赏金,希望有一个肯定的方式来获得最初的缩放,以适应页面的宽度在任何方向或屏幕大小的页面。
给定一个HTML DOM ID,如何在JavaScript / JQuery中获取元素相对于窗口的位置? 这不是相对于文档也不是相同的,因为元素可能在iframe或其他元素中。 我需要获取元素的矩形的屏幕位置(如位置和维度),因为它正在显示。 如果元素当前不在屏幕上(已经滚动),则负值是可以接受的。 这是一个iPad(WebKit / WebView)应用程序。 每当用户点击一个UIWebView的特殊链接,我应该打开一个popup视图,显示关于链接的更多信息。 弹窗视图需要显示一个箭头,指向调用它的屏幕部分。
我已经看到这个问题在互联网上浮动,但我还没有find一个工作的解决scheme。 基本上,我想加载我的应用程序,然后按下button; 那么button动作将在已经加载到webview中的网站中填入用户名和密码(或等待onPageFinished)。 最后,login页面上的提交button将被激活。 从我的理解,这可以通过使用loadUrl(javascript)进行java注入来完成,但是我不知道java命令将填充字段。 iOS也提出了同样的问题,但命令略有不同。 是否有可能在webivew中使用javascript来处理问题,还是必须在没有webview的情况下执行http-post? 非常感谢您的帮助!
我正在使用webview在我的应用程序中呈现一些格式化的东西。 对于一些交互(特定于某些DOM元素),我使用JavaScript和WebView.addJavascriptInterface() 。 现在,我想要认识到一个长期的联系。 不幸的是,在onLongTouch ,在Android 2.3中显示文本select的句柄。 如何在不设置onTouchListener 情况下closures此文本select并返回true? (然后,与“网站”的交互不再起作用。 最好的问候,并提前感谢,一月奥利弗Oelerich
好。 我已经到处看着,我的小脑子不能理解一个更好的方式来刷新一个活动。 任何我能理解的build议都会很棒。 🙂 这里是java代码: package com.dge.dges; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.widget.Button; public class dgeActivity extends Activity { WebView mWebView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings(); mWebView.loadUrl("http://www.websitehere.php"); Button newButton = (Button)findViewById(R.id.new_button); newButton.setOnClickListener(new […]
之前已经问过很多次了,我浏览过所有东西,还没有明确的答案。 问题简化:是否可以注入本地JavaScript文件(从资产或存储)到Android Web-View加载的远程网页? 我知道可以将这样的文件注入到Web视图中加载的本地网页(Assets HTML)中。 为什么我需要这个工作? :通过避免每次下载较大的文件(如Js和CSS文件)来加快浏览体验。 我想避免Web-Viewcaching。
我有这个问题。 如果我直接在浏览器中使用SWF,它可以正常工作。 如果我试图在SWF文件上使用loadUrl,它将保持空白,并且不会加载任何内容。
我有一个简单的WebView,用Flash(Adobe Flash网站)显示网站 – 在运行Android 3.0.1的Xoom平板电脑上testing新发布的Flash 10.2 在引用每一个关于stackoverflow的问题之后,我已经设置了以下内容: mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginState(WebSettings.PluginState.ON); mWebView.loadUrl("http://www.adobe.com/software/flash/about/"); 使用getSettings()为WebView启用插件和JavaScript ,但Flash无法显示。 当我将setPluginState设置为ON_DEMAND时 ,它显示了Flash的正确的占位符 – 再一次,当我点击Flash所在的项目时,Flash消失(就像Flashvideo无法呈现),只有audio(取决于Flash内容)可以被听到。 我也注意到,我可以点击丢失的闪光灯,做一个长时间的点击,然后点击左上angular新的Flash“全屏”button,然后它将在全屏模式下正确显示。 但是当我回到WebView,它再次无法显示,只播放audio。 任何想法感激! 请不要仅仅把我引回到几个月前发布的东西,没有一些细节,为什么我指的是Android 3.0发布之前的几个月! 再次感谢您的帮助。 伟大的社区!
我想抢先获得一个网页的HTML代码,要加载到一个webView ,parsing它使用正则expression式,只显示我想要的HTML代码,而让网页仍然认为它已经加载了一切。 在WebViewClient.onLoadResource()或类似的方法有没有办法做到这一点? 编辑:我试过这个: class MyJavaScriptInterface { @SuppressWarnings("unused") public void showHTML(String html, Context context) { new AlertDialog.Builder(context) .setTitle("HTML") .setMessage(html) .setPositiveButton(android.R.string.ok, null) .setCancelable(false) .create(); pageHTML = html; } } @Override public void customizeWebView(final ServiceCommunicableActivity activity, final WebView webview, final SearchResult mRom) { mRom.setFileSize(getFileSize(mRom.getURLSuffix())); webview.getSettings().setJavaScriptEnabled(true); MyJavaScriptInterface interfaceA = new MyJavaScriptInterface(); webview.addJavascriptInterface(interfaceA, "HTMLOUT"); WebViewClient anchorWebViewClient = new WebViewClient() […]