Jquery 和 CSS 动画在 ANDROID Webview 应用程序中不起作用

Posted

技术标签:

【中文标题】Jquery 和 CSS 动画在 ANDROID Webview 应用程序中不起作用【英文标题】:Jquery and CSS animation not working in ANDROID Webview application 【发布时间】:2015-07-07 11:22:03 【问题描述】:

我正在尝试为我的网站制作 Webview。但是我对 jquery 代码有一个问题。

这是我的 DEMO 网站。在这个演示站点中,您可以看到当您单击图像时,详细 div 将以动画形式打开。

但是当我点击图片时那个细节没有打开。

注意:我是 android 新手

这是我的 Webview 应用程序代码:

package ecowebtr.ecowebtr;

import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity 

    private WebView webView;
    private CustomWebViewClient webViewClient;
    private String Url = "http://www.ecowebtr.com/";
    ProgressDialog mProgressDialog;

    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mProgressDialog = new ProgressDialog(this);
        mProgressDialog.setMessage("Loading...");

        webViewClient = new CustomWebViewClient();

        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setBuiltInZoomControls(false); 
        webView.getSettings().setSupportZoom(false);
        webView.getSettings().setjavascriptEnabled(true);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        webView.getSettings().setAllowFileAccess(true);
        webView.getSettings().setDomStorageEnabled(true);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(webViewClient); 
        webView.loadUrl(Url);


    

    private class CustomWebViewClient extends WebViewClient 

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon)  
            super.onPageStarted(view, url, favicon);

            if(!mProgressDialog.isShowing())
            
                mProgressDialog.show();
            

        

        @Override
        public void onPageFinished(WebView view, String url) 
            super.onPageFinished(view, url);

            if(mProgressDialog.isShowing())
                mProgressDialog.dismiss();
            
        

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) 


            view.loadUrl(url);
            return true;
        

        @Override
        public void onReceivedError(WebView view, int errorCode,String description, String failingUrl) 


        
    
    public void onBackPressed() 
    
        if(webView.canGoBack())
            webView.goBack();
        else
            super.onBackPressed();
        
    

【问题讨论】:

对不起,我没有答案。只想说,真的很不错。 @JoshStevenson 谢谢。 【参考方案1】:

试试这段代码来解决:

webView = (WebView) findViewById(R.id.web);

WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAppCacheEnabled(true);
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) 
    settings.setDatabasePath("/data/data/" + this.getPackageName() + "/databases/");

【讨论】:

以上是关于Jquery 和 CSS 动画在 ANDROID Webview 应用程序中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 是不是在两个不同的 CSS 类之间进行动画处理?

使用 jQuery 在向上滚动和向下滚动时添加不同的 CSS 动画

如何在 css 和 jquery 中使用形状制作动画?

不透明动画在 jQuery 和 CSS 中不起作用

jQuery + Animate.css 动画只工作一次,动画不重置

用于一页引导设计的 JQuery/CSS 事件/动画。 (点击和滚动)