Articles of webview

程序化点击Android WebView

我有一个href的网站,它将我重定向到https Авторизация 所以,我可以通过JavaScript点击它。 它适用于chrome控制台 javascript:(function(){document.getElementById(‘mA’).click();})() 现在,我正在尝试通过单击我的应用程序按钮在WebView中执行相同操作。 public class RostelecomLoginActivity extends Activity { WebView webView; String url; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.activity_rostelecom_login); Intent webIntent = getIntent(); String url = webIntent.getStringExtra(“url”); webView = (WebView) findViewById(R.id.webView1); webView.setWebViewClient(new MeWebViewClient()); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setSaveFormData(true); webView.getSettings().setSavePassword(true); webView.loadUrl(url); Button buttoner = (Button) findViewById(R.id.button1); buttoner.setOnClickListener(new OnClickListener() { public void onClick(View v) […]

Android:拦截来自WebView的AJAX调用

我想要一个HTML/javascript应用程序,在WebView运行以进行由Java代码处理的AJAX调用。 理想的是拦截调用(简单,只需使用shouldOverrideUrlLoading() )并“返回”一些数据。 但是,除了使用loadUrl()调用javascript函数之外,我找不到“返回” WebView响应的方法。 这对我不起作用,因为HTML/javascript应用程序是我无法控制的插入式应用程序。 就HTML / javascript应用而言,它只是进行AJAX调用并接收一些数据。 有什么想法吗?

android webview浏览器是否支持html5function?

我有基于HTML5的Web应用程序,我希望它与WebView集成,那么android webview浏览器是否支持html5function?

如何处理“无限”网页?

很久以前,生活很简单:所有网页的长度都是有限的,如果它们不适合当前的窗口/视图大小,你只需向下滚动直到到达页面底部。 但我最近注意到网页设计领域出现了一个新趋势: 无底网页。 可能最熟悉的利用这些页面的网站的例子是Facebook和Twitter:你滚动到“底部”,只是触发一些刷新,为页面添加内容,所以“旧底部”不再是底部,而是有一个新的“底部”。 在Android WebView中,我需要能够捕获该“页面”上当前可用的所有内容,但我不确定如何处理此问题: 通过View.scrollBy(int x,int y) , pageDown()或window.scrollTo()模拟用户的向下滚动? 或者是否有一种API方法可以自动执行此操作? 或者我接近这个完全错误,我不应该试图在一次捕获中find“真正的底部”(如果可能的话)? 编辑 :似乎标记这个问题javascript传达了相反的消息。 我有兴趣使用Java在Android的WebView上捕获(然后处理)这样的无底页面。

从React Native中的应用程序本身的webview重定向到移动应用程序

我正在构建一个Android应用程序,需要来自外部auth提供程序的身份validation。所以我使用react-native-oauth包来处理这个问题。 redirect_uri定义的是一个深层链接,理想情况下应该在成功validation后打开我的应用程序。但是WebView似乎没有处理这个重定向,我得到的响应是找不到404页面。 这是我为处理身份validation而编写的服务: const manager = new OAuthManager(”) manager.addProvider({ ‘provider’: { auth_version: ‘2.0’, authorize_url:”, access_token_url: ‘/token’, callback_url: ‘http://localhost/provider’, } }); manager.configure({ provider: { client_id: ”, client_secret: ”, redirect_uri: ” //DEEP LINK HERE } }); module.exports = { authManager: () => { manager.authorize(”) .then(resp => console.log(resp)) .catch(err => console.log(err)); } } 此外,我已经在Android文档中指定了如何声明应用程序的深层链接的 intent-filter。深度链接在使用应用程序组件中的Linking.openURL()打开时工作正常。 任何帮助都非常感谢。

如果在webview中存在触摸事件,则停止触摸事件被ViewPager拦截

我有一个显示片段页面的ViewPager 。 每个片段都是显示脱机网站的WebView。 其中一些webview中包含javascript滑动事件,以使它们正常工作。 我想实现这样的,如果webview没有滑动事件(在javascript中),那么触摸事件将被传递到ViewPager ,否则它将被webview使用。 我试过覆盖ViewPagers @Override public boolean onInterceptTouchEvent(MotionEvent event) { return (this.swipeable) ? super.onInterceptTouchEvent(event) : false; } 然而,这阻止了ViewPager可以滑动(如预期的那样),但也阻止了滑动事件到达webview,因此我有两个不希望的结果。 是否有任何方法可以先将触摸事件传递给webView,然后如果片段中没有将其传递回ViewPager ? 如果我在MyViewPager犯了错误,我MyViewPager得到以下代码: public class MyViewPager extends ViewPager implements GestureDetector.OnGestureListener { private static final String TAG = MyViewPager.class.getSimpleName(); private boolean swipeable = true; private float lastX = 0; private long lastTime = 0 ; […]

当我选择操作栏后,冻结或制作稳定的Web视图?每次都防止加载/重新加载

当我从选项菜单中选择任何菜单时,我想要阻止页面重新加载或冻结当前Web视图 这是我的Webview public class MyWebV extends AppCompatActivity { private WebView webView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mwview); Toolbar toolbar = (Toolbar) findViewById(R.id.tb1); setSupportActionBar(toolbar); webView = (WebView) findViewById(R.id.web5); WebSettings set = webView.getSettings(); webView.setWebViewClient(new WebViewClient()); webView.setWebChromeClient(new WebChromeClient()); set.setJavaScriptEnabled(true); set.setJavaScriptCanOpenWindowsAutomatically(true); set.setLoadWithOverviewMode(true); set.setUseWideViewPort(true); set.setDomStorageEnabled(true); set.setAllowUniversalAccessFromFileURLs(true); set.setJavaScriptCanOpenWindowsAutomatically(true); webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); final ProgressDialog progressBar = ProgressDialog.show(MyWebV.this, […]

Android – 从WebView绘制到PDFcanvas

我一直在Android上进行PDF打印工作时遇到麻烦。 我要做的是在WebView中渲染一些HTML,然后在PDFcanvas上绘制WebView内容,最后将PDF写入文件。 我遇到的问题是,当我绘制到PDFcanvas时,即使有足够的canvas,内容也会被剪裁。 我已经尝试使用.clipRect(Rect rect, Op op)调整canvas大小,这种方式有效,但不如我.clipRect(Rect rect, Op op) 。 我也不知道如何将HTML px测量值可靠地转换为PDF PostScript 1/72英寸测量值。 这是我正在使用的代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView wv = (WebView) this.findViewById(R.id.webView1); wv.loadUrl(“file:///android_asset/temp.html”); } public void button1onClick(View v) { //Create PDF document PdfDocument doc = new PdfDocument(); //Create A4 sized PDF page PageInfo pageInfo = new PageInfo.Builder(595,842,1).create(); Page […]

在Viewpager中滚动Webview

我在ViewPager有一个WebView 。 并且ViewPager似乎消耗了所有水平滚动,因此我无法在WebView滚动(垂直工作)。 如何实现WebView优先使用水平滚动?

SIGSEGV将HTML + Flash加载到WebView中

当我尝试使用带有loadDataWithBaseURL且PluginState设置为PluginState.ON的嵌入式Flash插件(主要是youtube)将HTML加载到WebView时,我收到了SIGSEGV信号。 我可以用一个简单的测试用例重现错误。 请参阅以下代码: package ians.android2; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebSettings; public class TestAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView wv = (WebView)findViewById(R.id.webview); wv.getSettings().setPluginState(WebSettings.PluginState.ON); String html = “”; html += “”; html += “”; html += “”; html […]