2015-07-13 164 views
1

我想在将内容加载到web视图之前删除页眉和页脚。此代码不起作用。从webview中删除页眉和页脚

package com.wiseme; 

import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.webkit.WebView; 
import android.widget.AdapterView; 
import android.widget.GridView; 

@SuppressLint("SetJavaScriptEnabled") 
public class MainActivity extends Activity { 

    GridView grid; 
    public WebView webView; 
    public int pos; 

    String[] desc = { "Who We Are", "What We Do", "Entrepreneur", 
      "Scholarship", "Admission", "Internship", "Industrial Visit", 
      "Project", "Buy or Sell Projects", "Free Training", 
      "College Registration", "Information", "Feedback", "Contact" }; 

    int[] imageId = { R.drawable.dummy, R.drawable.dummy, R.drawable.dummy, 
      R.drawable.dummy, R.drawable.dummy, R.drawable.dummy, 
      R.drawable.dummy, R.drawable.dummy, R.drawable.dummy, 
      R.drawable.dummy, R.drawable.dummy, R.drawable.dummy, 
      R.drawable.dummy, R.drawable.dummy 

    }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activitymain); 

     GridDesign adapter = new GridDesign(MainActivity.this, desc, imageId); 
     grid = (GridView) findViewById(R.id.grid); 
     grid.setAdapter(adapter); 
     grid.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       pos = position; 
       Intent intent = new Intent(MainActivity.this, webView.class); 
       startActivity(intent); 
      } 
     }); 

    } 



    @Override 
    public void onBackPressed() { 
     new AlertDialog.Builder(this) 
       .setMessage("Are you sure you want to exit?") 
       .setCancelable(false) 
       .setPositiveButton("Yes", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           MainActivity.this.finish(); 

          } 
         }).setNegativeButton("No", null).show(); 
    } 

} 

Web视图类

package com.wiseme; 

import android.annotation.SuppressLint; 
import android.os.Bundle; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 

public class webView extends MainActivity { 

    @SuppressLint("SetJavaScriptEnabled") 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 

     WebView webView; 
     webView = new WebView(this); 

     WiseWeWebClient myWebClient = new WiseWeWebClient(); 
     webView.setWebViewClient(myWebClient); 
     WebSettings webSettings = webView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 




     switch (pos) { 
     case 0: 
      webView.loadUrl("http://wisewe.com/who-we-are/"); 
      break; 
     case 1: 
      webView.loadUrl("http://wisewe.com/what-we-do/ "); 
      break; 
     case 2: 
      webView.loadUrl("http://wisewe.com/entrepreneur/ "); 
      break; 
     case 3: 
      webView.loadUrl("http://wisewe.com/scholarship/"); 
      break; 
     case 4: 
      webView.loadUrl("http://wisewe.com/college-admission/ "); 
      break; 
     case 5: 
      webView.loadUrl("http://wisewe.com/internship/"); 
      break; 
     case 6: 
      webView.loadUrl("http://wisewe.com/industrial-visit/"); 
      break; 
     case 7: 
      webView.loadUrl("http://wisewe.com/project/ "); 
      break; 
     case 8: 
      webView.loadUrl("http://wisewe.com/sell-projects/"); 
      break; 
     case 9: 
      webView.loadUrl("http://wisewe.com/free-training/"); 
      break; 
     case 10: 
      webView.loadUrl("http://wisewe.com/college-registration/"); 
      break; 
     case 11: 
      webView.loadUrl("http://wisewe.com/branch/wise-we/"); 
      break; 
     case 12: 
      webView.loadUrl("http://wisewe.com/branch/feedback/"); 
      break; 
     case 13: 
      webView.loadUrl("http://wisewe.com/contact-us/"); 
      break; 
     } 
     setContentView(webView); 
    } 

    @Override 
    public void onBackPressed() { 
     webView.this.finish(); 
    } 
} 

WiseWeWebClient

package com.wiseme; 

import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class WiseWeWebClient extends WebViewClient { 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     view.loadUrl("javascript:var footer = document.getElementById('footer'); footer.parentNode.removeChild(footer); var header = document.getElementById('header-full'); header.parentNode.removeChild(header);"); 
    } 

} 

部首.......

enter image description here

页脚......

enter image description here

这些都更新到最新。我仍然无法删除页眉和页脚。

+0

截图? –

+0

我已经在问题中发布了。看一下 –

+0

头部的“智者我们”,谷歌搜索栏,以及社交网络按钮的页脚? –

回答

1

根据您的屏幕截图,您正在使用多个Jsoup Library。只使用其中之一。 使用this link下载Jsoup Library

+0

我刚刚导入它们。即使那时我不能使用jsoup函数。 –

+0

@KiranManjunath - 它在我身边工作。只需使用jsoup-1.8.2.jar。 –

+0

好吧,等我让我检查 –

1

根据你的截图和网站,这是一个web/html问题:你想删除你的页面的一些DOM元素。当你想在移动设备上,但不是在你的应用程序中的页眉/页脚,你必须运行一些JavaScript代码,当页面加载:

  1. 创建自定义WebViewClient听onPageFinished

    public class WiseWeWebClient extends WebViewClient { 
    
        @Override 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
         view.loadUrl(url); 
         return true; 
        } 
    
        @Override 
        public void onPageFinished(WebView view, String url) { 
         view.loadUrl("javascript:var footer = document.getElementById(\"footer\"); footer.parentNode.removeChild(footer); var header = document.getElementById(\"header-full\"); header.parentNode.removeChild(header);"); 
        } 
    
    } 
    
  2. 设置的WebClient您的WebView页脚和头的

    WiseWeWebClient myWebClient = new WiseWeWebClient(); 
    webview.setWebViewClient(myWebClient); 
    WebSettings webSettings = webview.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    
+0

你需要在这里转义引号 - 'getElementById(“footer”)'这里'getElementById(“header-full”' – TDG

+0

噢好吧让我检查 –

+0

你是对的@ TDG,固定;) –