首页 > 编程语言 >【iOS开发】UIWebView调用JS点击事件(stringByEvaluatingJavaScriptFromString)

【iOS开发】UIWebView调用JS点击事件(stringByEvaluatingJavaScriptFromString)

时间:2023-05-22 13:06:48浏览次数:33  
标签:stringByEvaluatingJavaScriptFromString self iOS JS html UIWebView webView h5 vie


一、场景描述

产品需求是移动端app要调用h5页面,然后监听h5代码中的某个方法,最终执行h5中的具体代码。

二、具体代码

.m文件

@interface ViewController ()<UIWebViewDelegate>
@property(nonatomic,strong) UIWebView *webView;
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    // 初始化
    UIWebView *webView = [[UIWebView alloc] init];
    webView.bounds = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-44);
    webView.delegate = self;
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:path];

    // 加载资源
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];
    [self.view addSubview:webView];
    self.webView = webView;
}

#pragma mark - UIWebViewDelegate
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    // 解析html方法,具体事件根据h5要求提供
    NSString *string = [self.webView stringByEvaluatingJavaScriptFromString:@"alert();"];
    NSLog(@"%@",string);
}

test.html资源文件

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="utf-8">
 <title>OC调用JS点击方法</title>
</head>
<body>
    <input type="button" value="js点击事件" onclick="js_to_oc_click()"/>
    <script type="text/javascript">
    function alert(){
        return "我被成功调起来了";
    }
    </script>
</body>
</html>


标签:stringByEvaluatingJavaScriptFromString,self,iOS,JS,html,UIWebView,webView,h5,vie
From: https://blog.51cto.com/u_13481937/6322934

相关文章

  • 【Swift开发】混合开发-React Native集成到原生iOS项目
    一、场景描述针对目前项目需求,部分功能需要动态热部署,因此考虑使用ReactNative。下面有个Demo介绍原生iOS项目是如何与ReactNative集成的。先贴下ReactNative中文网是官方教程:ReactNative嵌入到现有原生应用。对老项目来说,官方推荐使用第三方包管理器CoCoaPods来自动集成,但是考......
  • 揭秘神秘的JS混淆加密技术
    在编程的世界里,沉香舞动着一种强大的力量,就像母亲为了救子不惜一切的决心。而在JavaScript的领域中,我们也有一种神秘的技术,它能够将代码变得晦涩难懂,宛如沉香救母一般,守护着程序的安全。今天,我将带你揭开这个神秘的面纱,一窥JS混淆加密技术的奥秘。JavaScript混淆加密是一种将代码进......
  • 揭秘神秘的JS混淆加密技术
    在编程的世界里,沉香舞动着一种强大的力量,就像母亲为了救子不惜一切的决心。而在JavaScript的领域中,我们也有一种神秘的技术,它能够将代码变得晦涩难懂,宛如沉香救母一般,守护着程序的安全。今天,我将带你揭开这个神秘的面纱,一窥JS混淆加密技术的奥秘。JavaScript混淆加密是一种将代码进......
  • 一文读懂面试官都在问的Fastjson漏洞
    Fastjson1.2.24-RCE漏洞漏洞简介fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。即fastjson的主要功能就是将JavaBean序列化成JSON字符串,这样得到字符串之后就可以通过数据库等方式......
  • 【iOS开发】This application's application-identifier entitlement does not match
    Xcode编译报错:Thisapplication’sapplication-identifierentitlementdoesnotmatchthatoftheinstalledapplication.Thesevaluesmustmatchforanupgradetobeallowed.原因:两次编译的用的证书不一致。解决:把之前装的app卸载,重新安装下。......
  • 【iOS开发】后台定位&&socket长链接
    参考:iOS9后台定位无限后台定位注意:这个上架appstore可能会被拒绝,如果你的应用不是和地图类相关的话。目前没想到好的解决方案,有的话请发邮件告诉博主一下,谢谢!!!......
  • 【iOS开发】iOS系统更新到10.3以上无法下载企业应用
    问题描述:iOS系统10.3以上系统,通过公司app发布平台下载企业应用,在Safari中点击下载链接,服务器报错无法链接到iapp.ihefe.com。如图:解决办法:打开通用-》关于本机-》证书信任设置,然后把iapp.ihefe.com给打开,点击继续就行了。如图:......
  • 【iOS开发】launch Images启动图片设置(UILaunchImageFile)之002
    一、实现效果:通过直接给图片起默认的名字,让app启动页自动加载启动图片。二、注意点:·图片命名一定要按苹果官方的指定规则命名,图片的像素也要符合规则;·如果横竖屏图片都需要,记得在Xcode中勾选上项目支持横竖屏。三、官方描述:四、LaunchImage命名规则实例https://developer.apple.......
  • 【iOS开发】Device Compatibility(设备兼容性)
    设备兼容性https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html......
  • 【iOS】MD5 与Base64 的区别
    MD5不可逆性(只能加密)。任意长度的明文字符串,加密后得到的密文字符串是长度固定的。Base64可逆性(能加密和解密)。可以将图片等二进制文件转换为文本文件。可以把非ASCII字符的数据转换成ASCII字符,避免不可见字符。......