ios - 如何从Phonegap IOS中的IFrame访问Cordova功能

标签 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>

最佳答案

在iFrame所在的“父”页面中,创建以下函数

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

然后为iFrame中的任何按钮/链接调用上述函数
<button onclick="javascript:parent.popnew('http://www.stackoverflow.com')"></button>

关于ios - 如何从Phonegap IOS中的IFrame访问Cordova功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21548677/

相关文章:

android - 盒子阴影在 Android 中不起作用

android - 在适用于 Android、IOS 和桌面设备的 Cordova 应用程序中播放音频和视频

ios - 跟踪附属机构在超过 24 小时内在 iOS 中生成的应用程序安装

iframe 父窗口的 Javascript 后退按钮

iphone - 将 UIImage 绘制到 CALayer.contents 中不会渲染图像数据

angularjs - 在 1 个 Controller 中使用 2 个 ui-codemirrors

jquery - 将 youtube 视频包装在响应图像 "frame"中,使用 LazyYT.js 进行延迟加载

ios - 自定义PhoneGap启动屏幕

iphone - 如何使用一次触摸更改 UISlider 值?

ios - 如何确定分配给结构变量的 UISlider 的标识