【问题标题】:Hidden cordova inAppBrowser has no event for shown statusAppBrowser中隐藏的cordova没有显示状态的事件
【发布时间】:2017-10-31 17:52:05
【问题描述】:

cordova inAppBrowser 在打开时有下一个选项(如https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/ 中所述):

hidden:设置为 yes 以创建浏览器并加载页面,但不显示。 loadstop 事件在加载完成时触发。忽略 或设置为 no(默认)以使浏览器正常打开和加载。

问题是我想在浏览器完全呈现在设备屏幕上时检测并执行代码。该api提供了“loadstop”事件,但它是在设备屏幕显示网页之前执行的。

有什么方法可以检测到这一刻吗?

已编辑:

这就是我正在尝试的(不完全是类似的):

inappService.runScript( 
    function (params) { 
        function handleVisibilityChange() {
            if (!document.hidden) {
                $('input#otp')[0].focus(); 
            }
        }
    document.addEventListener('visibilitychange', handleVisibilityChange, false); 
);

但是当页面预加载隐藏时会发生“可见性更改”。知道如何在网页上使用 javascript 检测它吗?谢谢!!!

【问题讨论】:

    标签: javascript cordova cordova-plugins inappbrowser


    【解决方案1】:

    inAppBrowser 完全呈现页面时没有事件。但是,您可以尝试使用它的 executeScript() 方法,该方法允许注入您自己的 JavaScript。这允许您使用任何您喜欢的技术来检测页面的完整呈现。

    【讨论】:

    • 嗨拉西尔,这正是我想要做的。像这样的东西(将其视为伪代码):inappService.runScript( function (params) { function handleVisibilityChange() { if (!document.hidden) { $('input#otp')[0].focus(); } } document.addEventListener('visibilitychange', handleVisibilityChange, false); ); 但是当页面预加载隐藏时会发生“可见性更改”。知道如何在网页上使用 javascript 检测它吗?谢谢!!!
    • 在评论中发布代码不是一个好主意,而且很难阅读。您可以编辑您的问题并在那里添加信息。
    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 2017-10-18
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    相关资源
    最近更新 更多