开发者社区> 问答> 正文

WebView中JavaScript如何监听按Home键退出事件?

WebView中JavaScript如何监听按Home键退出事件?

在微信里测试了下,当iPhone按住 home键退出微信再打开。

展开
收起
a123456678 2016-07-27 15:12:03 3276 0
2 条回答
写回答
取消 提交回答
  • 可以通过Native来监听系统back事件,然后通过JS注册的JSBrdige发送事件到对应的JSContext,这样就可以在客户端按下back键的时候收到消息。

    2020-03-26 21:25:41
    赞同 展开评论 打赏
  • 目前来说浏览器里的js是做不到的,不过你可以让native来帮助你实现这个功能。就算如此,也仅仅是实现类似的应用进入后台监听而已。

    第一步,在你的applicationDidEnterBackground中发送一个NSNotification

    第二步,在你的WebViewController中接收这个NSNotification(这里我觉得通过NSNotificationCenter来做这个事最合适,你想用其他方式也行)

    第三步,

    // 为了方便阅读,写成这样
    [webView stringByEvaluatingJavaScriptString:@"

                        var pauseEvent = new Event('pause');
                        document.dispatchEvent(pauseEvent);

    "];
    最后一步,现在,你可以在你的js文件中像这样来监听应用的进入后台事件:

    document.addEventListener('pause', function () {

    console.log('app just entered background.');

    });
    最后打个广告,我们做了一个让web app像native app来运行的手机浏览器(当然也包括了你的这个需求,监听应用的进入后台事件),支持各种 PhoneGap API,支持直接调起 native 的微信分享(再也不用在网页上画个箭头指向右上角了)。

    下载地址: http://lydiabox.com
    API 文档:http://wiki.lydiabox.com
    开发者中心: http://developer.lydiabox.com

    2019-07-17 20:00:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载