IOS 调用 javascript 通知函数



我的应用程序就像iBook。正在将 html 文件加载到网络视图中。

我有一个 html 文件加载到网络视图中。

 <img class="play_icon" src="images/play_icon.png" onclick="javascript:window.external.notify('Home pregnancy test.mp4')" />

如何从目标 c 调用 javascript 函数 window.external.notify()

如何获取此通知并在目标 c 中获取视频网址

只需查看下面的解决方案

<!DOCTYPE html>
<html>
    <head>
        <script>
            function yourFunctionName()
            {
                alert("Hello World!");
            }
            </script>
    </head>
    <body>
        <button onclick="yourFunctionName()">Try it</button>
    </body>
</html>

您的 Obj-C 代码

NSString *path;
NSBundle *thisBundle = [NSBundle mainBundle];
path = [thisBundle pathForResource:@"first" ofType:@"html"];
NSURL *instructionsURL = [NSURL fileURLWithPath:path];
[webView loadRequest:[NSURLRequest requestWithURL:instructionsURL]];
 NSString * jsCallBack = [NSString stringWithFormat:@"yourFunctionName()"];
 [webView stringByEvaluatingJavaScriptFromString:jsCallBack];
[webView stringByEvaluatingJavaScriptFromString:@"yourFunctionName()"];

您需要通过以下方式实现执行,因为在一个地方实现上述 Obj-C 将不起作用。所以你必须按照以下方式去做。原因是工作将以异步方式进行,这就是为什么

在 UIWebViewDelegate 中调用以下函数

[webView stringByEvaluatingJavaScriptFromString:@"yourFunctionName()"];

回调方法应该在 –webViewDidFinishLoad 上:

如果您需要更多信息,请查看以下链接

使用 Objective-C 中的 JavaScript

希望这有帮助

相关内容

最新更新