iPhone webview 的 Javascript 接口

Posted

技术标签:

【中文标题】iPhone webview 的 Javascript 接口【英文标题】:Javascript interface with iPhone webview 【发布时间】:2011-05-28 08:42:57 【问题描述】:

我正在将编码从 android 转换为 iPhone,下面是从 Android webview 中的 javascript 收听“jb”的代码。如何在 iPhone 中实现代码?

  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();
            

        
    

【问题讨论】:

你有没有找到在ios中实现的方法? iOS 中 JavascriptInterface 的替代方案? 【参考方案1】:

如果我没看错,您想将此 Android WebView 代码转换为 iPhone。 首先,创建一个 UIWebView:

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

其次,您需要使用以下方法评估一些 JavaScript:

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

响应 JavaScript 函数会有点困难。我不相信 JavascriptBridge 有 iOS 替代品。您将希望看到此问题以供进一步参考: Can I pass a variable from a UIWebView back to my app using Javascript (or any web technology)?

【讨论】:

以上是关于iPhone webview 的 Javascript 接口的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:等待 webview 在自动化测试中加载

根据 iPhone 上的内容设置 webview 的动态高度

Webview 适用于 iphone 但不适用于 ipad

使用 webview 在 iphone 应用程序中播放来自 youtube 的视频

iphone:如何在 webView 中设置字体大小?

iphone - 点击 WebView 上的手势与点击的链接冲突