2013-04-28 8 views
0
protected void onCreate(Bundle savedInstanceState) { 
    String javaScript = "javascript:(function(){var%20content=document.getElementsByClassName('entry-content')[0].innerHTML;var%20content2=content.replace(/<p>/,'');var%20endpos=content2.search(/<div%20id/);})()"; 



    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_neugkeiten_rss_item); 

    Bundle bundle = getIntent().getExtras(); 
    String item_link = bundle.getString("link"); 
    String item_title = bundle.getString("title"); 

    TextView textViewTitle = (TextView) findViewById(R.id.textViewRssItemTitle); 
    textViewTitle.setText(item_title); 

    WebView webViewContent = (WebView) findViewById(R.id.webViewNewsContent); 
    webViewContent.getSettings().setJavaScriptEnabled(true); 
    webViewContent.loadUrl("file:///android_asset/Resources/rsscontent.html"); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.home, menu); 
    return true; 
} 

public void onbuttonclick (View view) { 
    WebView webViewContent = (WebView) findViewById(R.id.webViewNewsContent); 
    webViewContent.getSettings().setJavaScriptEnabled(true); 
    webViewContent.loadUrl("javascript:(function() {var%20content=document.getElementsByClassName('entry-content')[0].innerHTML;var%20content2=content.replace(/<p>/,'');var%20endpos=content2.search(/<div%20id/);var%20content3=content2.slice(0,endpos);var%20content4=content3.replace(/%20%20%20%20/,'');document.body.innerHTML=content4;document.body.style.backgroundColor='#e9e9e9';})()"); 
} 

Привет, ребята,Android Development: WebView JavaScript не работает

У меня есть проблема: Я хочу, чтобы загрузить веб-страницу в мой веб-просмотра, а затем запустить JavaScript на него, который удаляет все ненужные содержание и переопределяет цвет фона. Мой javascript действительно работает на ПК, но не в браузере Android или в веб-браузере. Вы знаете, что не так в коде?

Апи-Level 11 Target 17

Было бы также замечательно, если бы кто-нибудь из вас знает, что хороший учебник о том, как загрузить файлы HTML

+0

Это не 'loadUrl', но' loadDataWithBaseURL' - в соответствии с этим ответом - http://stackoverflow.com/questions/8533187/add-javascript-into-webview/8557602#8557602 –

+0

если я использую это, я только получить белый экран – MoBr114

ответ

0

Вы пробовали это:

1- надстройку эта линия для вашей OnCreate функции

webViewContent.setWebViewClient(new myWebClient()); 

затем 2- добавить этот класс в свой класс

public class myWebClient extends WebViewClient 
    { 
     @Override 
     public void onPageFinished (WebView view, String url) { 
      view.loadUrl("javascript:(function(){var%20content=document.getElementsByClassName('entry-content')[0].innerHTML;var%20content2=content.replace(/<p>/,'');var%20endpos=content2.search(/<div%20id/);})()"); 
     }   
    } 
+0

не работает. Но спасибо за вашу помощь. Можете ли вы рассказать мне хороший учебник о том, как загружать html-файлы с помощью AsyncTask? – MoBr114

+0

Вы пытались сделать эту функцию в своем html и просто называть ее активностью, например view.loadUrl ("javascript: functionName();"); –

+0

html всегда меняется, и для меня невозможно изменить html, потому что я не автор этого. Но если вы знаете, как загрузить веб-страницу над javascript, а затем продолжить сценарий, я могу написать html-файл, который будет делать это, и поместить его в мой веб-просмотр. – MoBr114

Смежные вопросы