【发布时间】:2016-05-18 14:54:58
【问题描述】:
这是我无法使用的移动应用程序的一部分。这个想法是,当用户点击特定元素(比如链接)时,我需要一个外部 url 加载并显示在屏幕上,顶部和底部都有特定的栏。并且用户应该能够浏览此网页上的链接。所以这是我尝试过的:
iFrame
我尝试使用 iFrame 加载网站。工作,但其中一些不允许加载到 iFrame 中。例如 google.com、youtube.com、theguardian.co.uk。即使我的 config.xml 中有<access origin="*" />.load();
jQuery .load() 函数工作得更好一些。例如,它可以加载 google.com。但是网页中会缺少一些图像。并且搜索不会在那里工作。可能它可以通过相对路径以某种方式解决,但我没有运气尝试让它工作。inAppBrowser 插件
它确实可以加载页面。但我需要的是网页视图顶部和底部的顶部和底部栏。我需要它才能快速访问我的应用程序的某些特定功能。并且在设计方面。在这里没有找到解决方法。也尝试过 childBrowser,但似乎不再支持它。
由于我已经有点绝望了,我会考虑您可以提出的任何解决方案。如果可以通过一些插件和一些JS代码来解决,那就太好了,但我已经明白我无法要求:\
因此,例如,这是我的 html 代码:
<div id="main-screen">
<div id="links">
<a href="http://google.com" class="link">
Google
</a>
<a href="http://youtube.com" class="link">
YouTube
</a>
</div>
</div>
<div id="web-container">
<div id="top-bar">
</div>
<div id="web-content">
</div>
<div id="bottom-bar">
</div>
</div>
这是我正在尝试做的一个例子:
$(document).on('click','a',function(e) {
$('#main-screen').hide();
$('#web-container').show();
$('#web-content').load($(this).attr('href'));
});
预期结果是在 div 中完全加载页面,并在顶部和底部由基于自定义 html 的条形框框。
不要犹豫,询问任何进一步的信息,我很确定您会特别感兴趣。
提前谢谢你。
【问题讨论】:
-
您希望工具栏具有什么样的行为?它们可以是 javascript - html 工具栏,还是必须是原生的?
-
我希望它们有 Html/Js。因为他们启动了我用 JS 编写的应用程序的其他一些功能,并获取了一些信息(页面标题和它的 url)。但如果最后一句话没有问题,那么它可以是任何东西。
-
然后您应该制作 iframe,在其中加载网页,在 javascript 中制作工具栏,并解决无法加载的页面的问题,因为一切都应该正常工作。在 SO 中查找白名单插件通配符
-
@Del,最后一个问题。您是否 100% 确定一切正常?因为我在我的 config.xml 中使用了
<gap:plugin name="com.indigoway.cordova.whitelist.whitelistplugin" version="1.1.1" />并且或多或少地所有网站都可以工作,但不是最大的网站,这是有道理的。谷歌不加载 iframe 的其他原因可能是什么? -
白名单插件包含在最新版本的cordova中,所以你不必这样做,我会用正确的配置写一个响应
标签: android jquery cordova phonegap-plugins childbrowser