如何从phonegap IOS中的IFrame访问cordova函数

时间:2014-02-04 09:37:23

标签: ios iframe cordova cordova-3 inappbrowser

在我的Phonegap ios项目中,我有一个i帧,iframe的src是同一个www文件夹中的本地html页面。在html(IFrame源代码)里面有一个按钮和onlick监听器。我需要在InAppBrowser或safari(新窗口)中单击该按钮时打开一个网站。我无法从html文件(IFrame源)访问phonegap方法,我在两个html文件中包含了cordova,我的源html页面如下所示,此页面显示在iframe中。

<html>

<head>

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

<script>


  $(document).ready(function () {

      $('#advArea').find('button').on('click', function (e) {
                                 e.preventDefault();
                                 var path = "http://www.google.com");

                                 console.log(path);
                                 //window.open(path,'__system');
                                 //need to acces inApp Browser from here

                                 })

  });

</script>
</head>

<body>
<div id="advArea">

 <button></button>
  </div>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

在iFrame所在的“父”页面中,创建以下功能

function popnew(path) {
        navigator.app.loadUrl(link, { 'openExternal' : true });
    }

然后你为iFrame中的任何按钮/链接调用上面的函数

<button onclick="javascript:parent.popnew('http://www.stackoverflow.com')"></button>