2013-05-08 2 views
0

У меня есть приложение, использующее андроид webview. Я попытался вызвать javascript с Java. У меня есть строка, ниже которой я ожидаю отобразить hello world, но веб-просмотр пуст.Позвоните Javascript с Java - Android

webView = (WebView) findViewById(R.id.webView); 
webView.getSettings().setJavaScriptEnabled(true); 

webView.loadUrl("javascript:document.write('hello world')"); 

Является ли мой код правильным или я что-то пропустил?

Отображение с использованием document.write предназначено для тестирования только для вызова функции JS.

ответ

2

Первое изменение строки в "привет мир" от "привет" :-)

Я попробовал это, и это работает

активность

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     WebView webView = (WebView) findViewById(R.id.webView1); 
     webView.getSettings().setJavaScriptEnabled(true); 

     webView.loadUrl("javascript:document.write('hello world')"); 
    } 

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

} 

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 


    <WebView 
     android:id="@+id/webView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</RelativeLayout> 
+0

Привет, я пробовал ваш ответ, но безуспешно .. Можете ли вы мне помочь с моим вопросом, пожалуйста? http://stackoverflow.com/questions/42633793/call-javascript-function-from-android-activity-class –

0
Try this way 

wview.loadUrl("file:///android_asset/index.html"); 

    **index.html** 
copy index.html in assests folder 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Insert title here</title> 
    </head> 
    <body> 
    <h1>Hello World</h1> 
    </body> 
    </html> 
+0

Я использовал 'document.write' для записи' hello world' только для целей тестирования. Требование состоит в том, чтобы вызвать функцию JS, а не просто отображать «hello world». –

+0

Требования к вату уна могут уклоняться – User

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