小编Oli*_*ver的帖子

在inApp浏览器中注入代码并在应用程序中获取它的返回值

我正在编写一个phonegap应用程序,它正在inAppBrowser中启动一个Web应用程序.我想从这个网络应用程序获得一些反馈,以便在我的phonegap应用程序中进一步使用它.

因此,用户启动Web应用程序,在那里执行一些操作,单击按钮后,Web应用程序会向phonegap应用程序返回一个值.

我以为我可以使用inAppBrowser的executeScript方法来注入一个函数,该函数将使用某个事件在Web应用程序内部调用,并且在调用该函数时,评估其在Web应用程序内的返回值.所有我发现的不是完整的phonegap文档和stackoverflow上的这个问题: 使用原生功能扩充webapp - 使用Rails Web应用程序应用程序桥接PhoneGap的InAppBrowser

可悲的是,它没有像我预期的那样工作,因为回调函数会立即触发,而不会等待注入的函数执行.

这是我的移动应用程序代码

<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.executeScript Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Global InAppBrowser reference
    var iabRef = null;

    // Inject our custom JavaScript into the InAppBrowser window
    //
    function addFeebackFunction() {
        iabRef.executeScript(
            {code: "var evaluateFeedback = function(){return 'Done';};"},
            function(data) {
                alert(data);
            }
        );
        //iabRef.close();
    }

    function iabClose(event) {
         iabRef.removeEventListener('loadstop', addFeebackFunction);
         iabRef.removeEventListener('exit', iabClose);
    }

    // Cordova is ready
    // …
Run Code Online (Sandbox Code Playgroud)

javascript phonegap-plugins cordova

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

cordova ×1

javascript ×1

phonegap-plugins ×1