2012-03-07 53 views
0

嗨我试图从本地HTML页面获取某个变量值。该函数只是返回一个简单的变量值x(x设置为5),所以我想在android中调用这个函数。这是我到目前为止的代码:Webview和javascript使用

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    mWebView = (WebView) findViewById(R.id.webview); 

    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setSaveFormData(false); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.loadUrl("file:///android_asset/tester.html"); 

    getScript = (Button) findViewById(R.id.test); 
    getScript.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      mWebView.loadUrl("javascript:getX()"); 
     } 
    }); 
    Toast.makeText(this, "Hello World", duration); 
} 

这样的想法是,当getScript加入按钮被称作是它调用HTML页面的功能,但我怎么才能显示价值?就像在下面的敬酒信息中一样?

干杯

回答

1

选项#1:添加WebChromeClientWebView,实现onJSAlert()WebChromeClient,并让您的JavaScript代码使用alert()

选项#2:添加自定义的Javascript成为> Java桥接对象到WebKit通过addJavaScriptInterface(),并有你的JavaScript代码调用该对象的东西

+0

谢谢队友我将不得不对此做一些研究 - 这似乎是诱饵复杂在这一点 – Katana24 2012-03-08 21:32:40

+0

你好所有 - 以为我会在这里留下一个很好的链接,澄清我的JavaScript/webview问题 - http://code.google.com/p/openmobster/wiki/JavascriptBridge我唯一的区别是不加载我的东西onResume () 方法。再次欢呼CommonsWare – Katana24 2012-03-10 10:52:05

相关问题