在 framework7 包装器中加载外部页面

Posted

技术标签:

【中文标题】在 framework7 包装器中加载外部页面【英文标题】:Load an external page within framework7 wrapper 【发布时间】:2015-10-06 08:44:59 【问题描述】:

我有一个 framework7 应用程序,我需要将外部页面加载到应用程序中。这意味着导航栏和所有内容都应保留在顶部,但我应该能够在正文中显示外部 url 的内容。更像是应用内浏览器。

我尝试使用 iFrame,但它不适用于基于 https 的网址。有什么办法吗?

还要注意,如果我将external 类添加到锚标记中,则页面将在新窗口中打开。不在应用程序内。

【问题讨论】:

【参考方案1】:

使用 AJAX 将 html 插入您的页面。 使用 javascript,您可以将“外部”页面 (EXTERNALPAGE.php) 加载到您选择的 <div> (PAGEPlaceholder)。

以下是建议代码的摘要,这不是一个工作示例...

您的 HTML 可能如下所示:

<div data-page="PAGENAME" class="page navbar-through toolbar-through">

<div class="navbar ">
    <div class="navbar-inner">              
         <div class="left"></div>
        <div class="center sliding">Page Title</div>
        <div class="right"></div>
    </div>
</div>  


<div class="page-content ">         
    <div id="PAGEPlaceHolder"></div>                                                    
</div>
...

JS 可能看起来像这样:

myApp.onPageInit('PAGENAME', function (page)   

$$.get('EXTERNALPAGE.php', , function (data)         
        $$('#PAGEPlaceHolder').html(data);          
    );     
);

【讨论】:

【参考方案2】:

我尝试使用$$.get,但它包含了他们的 css,这弄乱了我的东西,所以我最终使用 iframe 将其隔离在 popup .

$$(document).on('click', '.open-popup', function (e) 
    var link = this.data("url");
    var iframe = '<iframe  style="height: 100em;" src="http://cors.io/?u=' + link + '" frameborder="0"></iframe>';
    $$('.popup-body').html("Loading...");
    $$('.popup-body').html(iframe);
    app.popup('.popup');
);

【讨论】:

以上是关于在 framework7 包装器中加载外部页面的主要内容,如果未能解决你的问题,请参考以下文章

在 Phonegap 3 中加载外部页面作为主窗口的首选方式

在 div 中加载外部内容并操作 dom

如何在按钮单击事件中的模式弹出扩展器中的iframe中加载页面?

选择在 iOS 应用上的外部浏览器中加载的内容

Paypal 页面未在 Android 应用程序中加载,仅显示微调器,直到我触摸屏 6.0.1

jq load()方法中加载文件中元素事件绑定失效的问题