子域URL未在android webView中正确加载

时间:2017-10-18 12:13:41

标签: javascript android css webview opencart

我正在尝试加载设计为类似移动应用的This Website,其中包含一个像Actionbar这样的顶部栏,其操作栏包含一些项目和一个搜索栏。 最左边和最右边的项目在android中打开类似Navigation Drawer的布局 当我使用webView运行此应用程序时,我在应用程序中看到的是默认情况下打开抽屉布局,左侧抽屉布局位于顶部,然后右侧抽屉位于其下方,主页面位于其末尾。 似乎CSS没有正确加载或某些javascript。
在我尝试使用任何width&的移动视图时,在浏览器中height它运作良好。
所以我想知道为什么它在android中不能正常工作? 以下是我在webVeiw完整mainActivity

中加载网站的代码
public class MainActivity extends AppCompatActivity {

    String link = "http://www.opensourcecart.com/index.php?route=mobile_app/home";
    String urlLink = "http://www.opencartarabic.com";
    Context context;
    private WebView mWebview;
    private ProgressDialog progressBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.context = this;

        // Programmatically show fullscreen
//        requestWindowFeature(Window.FEATURE_NO_TITLE);
//        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
//                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
        progressBar = ProgressDialog.show(context, "Progress Dialog", "Loading...");

        setContentView(R.layout.activity_main);
        mWebview = (WebView) findViewById(myWebView);
        WebSettings webSettings = mWebview.getSettings();
        webSettings.setJavaScriptEnabled(true);
//        webSettings.setUseWideViewPort(true);
//        webSettings.setLoadWithOverviewMode(true);
        mWebview.getSettings().setBuiltInZoomControls(true);
        mWebview.getSettings().setSupportZoom(true);
        mWebview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        if (Build.VERSION.SDK_INT >= 19) {
            // chromium, enable hardware acceleration
            mWebview.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        } else {
            // older android version, disable hardware acceleration
            mWebview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }

        mWebview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
            public void onPageFinished(WebView view, String url) {
                if (progressBar.isShowing()) {
                    progressBar.dismiss();
                }
            }
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
//                Log.e(TAG, "Error: " + description);
                Toast.makeText(context, "Oh no! " + description, Toast.LENGTH_SHORT).show();
                alertDialog.setTitle("Error");
                alertDialog.setMessage(description);
                alertDialog.setButton(BUTTON_NEGATIVE, "OK", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                alertDialog.show();
            }
        });
        mWebview.loadUrl(link);
    }
}

我也试过这些方法

webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);

但它是一样的。该代码适用于除此之外的所有网站网址

 http://www.opensourcecart.com/index.php?route=mobile_app/home

也许是因为它是一个子域(不确定)。请引导我朝正确的方向前进 搜索栏的Onclick也无法在Android应用程序中运行。

编辑:在Android浏览器中打开此网址也工作正常。

0 个答案:

没有答案