2011-05-28 78 views
6

我正在將代碼從Android轉換爲iPhone,下面是代碼在Android webview中從javascript中聽取「jb」。我如何在iPhone中實現代碼?使用iPhone的web界面的Javascript界面​​

webView.loadUrl(url); 
    webView.setWebViewClient(new AppWebViewClient()); 
    webView.addJavascriptInterface(new JavascriptBridge(), "jb"); 


final class JavascriptBridge 
    { 
     public void callback(String param){ 

      //Generate the returnValue from the bridge 
      /* 
      String toastValue = param 
      Toast toast = Toast.makeText(AppHelp.this, toastValue, Toast.LENGTH_LONG); 
      toast.show(); 
      */ 
      Log.i(TAG, param); 
      if (param.equals("close")) { 
       AppHelp.this.finish(); 
      } 

     } 
    } 
+0

你有沒有找到任何方式來實現在iOS? iOS中JavascriptInterface的替代方法? – harshit2811 2015-07-22 09:51:32

回答

4

如果我正在閱讀此權限,您希望將此Android WebView代碼轉換爲iPhone。 首先,創建一個UIWebView:

UIWebView* web = [[[UIWebView alloc] init] initWithURL:@"google.com"]; 

其次,你會想用下面的方法評估一些JavaScript:

[web stringByEvaluatingJavaScriptFromString:@"JAVASCRIPT GOES HERE"]; 

,以響應JavaScript函數會更困難一點。我不相信有一個iOS替代JavascriptBridge。你會想看到這個問題的進一步參考: Can I pass a variable from a UIWebView back to my app using Javascript (or any web technology)?