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

Load an external page within framework7 wrapper

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

我尝试使用 iFrame,但它不能正常用于基于 https 的 urls。有什么办法吗?

另请注意,如果我将 external class 添加到锚标记中,页面将以新的 window 打开。不在应用程序内。

使用 AJAX 将 html 插入您的页面。 使用 Javascript,您可以将 'external' 页面 (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);          
    });     
});

我尝试使用 $$.get 但它包含了他们的 css 这搞砸了我的东西所以我最终使用了 iframe 将其隔离在 弹出窗口中

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