无法使用应用内浏览器显示网站

Posted

技术标签:

【中文标题】无法使用应用内浏览器显示网站【英文标题】:Unable to Display website using In-App-Browser 【发布时间】:2018-07-07 23:41:59 【问题描述】:

早安,

我对 Ionic 还是很陌生,只是想把它排除在外。我正在尝试将我的网站变成一个应用程序,我做了一些研究,发现应用内浏览器是最好的方法。

    constructor(public navCtrl: NavController, private inAppBrowser: InAppBrowser)ngOnInit() 

const options:InAppBrowserOptions =
  
   zoom :'no',
  location : 'no',
  toolbar : 'no'

  
  
    const browser = this.inAppBrowser.create("skyvertstudios.com/yaadi", '_system',options);
    
    

现在,当我运行此代码时,网站未显示。当我还将 '_system 更改为 '_self 时,它会加载网页,但我会丢失在应用程序中创建的所有内容。

我知道在上面几行中遗漏了一些东西,但我不确定遗漏了什么可以让页面在应用程序中显示,同时保持我的标签和整体应用程序的外观。

App Image Example

编辑:添加了上面的图片以更好地解释它想要做什么。在空白处,网页应该被加载,但它没有被加载

【问题讨论】:

【参考方案1】:

您是否先将inappbrowser 插件安装到您的应用中?

编辑:InAppBrowser 将在外部,在用户的浏览器 (_system) 上或在内部作为新的 webview (_self) 打开,在最后一种情况下,webview 将覆盖整个应用程序的窗口,所以是的,您当前的应用程序落后,现在您应该使用事件最终关闭 web 视图并返回到您的应用程序(阅读下面的评论)。

您的问题并未提及您究竟想在这里实现什么,请澄清一下。

【讨论】:

是的,它已经安装好了。这是我做的第一件事。 Inappbrowser 工作,只是当函数被调用时它不会在应用程序中显示它显示网站 我明白了。使用_self 打开不会删除您当前的索引页面,它会创建一个新页面。您可以使用loadstop 事件侦听器来检测这个新的 web 视图何时被导航,并在检测到特定 URL 时将其关闭,例如,如果您导航到带有 ?close 参数的 URL,然后从 Cordova 检查是否加载的 URL 在其名称中包含 ?close 并使用 webview 上的 .close() 方法返回到您的应用程序。 我正在尝试在应用程序内显示网站的内容。因此,当您打开应用程序时,您会看到网页。它不应打开外部浏览器,而应显示在应用程序本身中。 请注意,这种行为不会受到 Google Play 商店的欢迎,更不用说 Apple Store 的法规和政策了。只有在绝对没有其他选择的情况下才应该使用 webviews。 是的,我明白这一点并阅读了政策,所以我很确定我是正确的,因为这只是部分功能https://***.com/questions/29799682/show-a- website-inside-an-ionic-tab 这正是我试图完成此方法的方法,但似乎不适用于 ionic 3

以上是关于无法使用应用内浏览器显示网站的主要内容,如果未能解决你的问题,请参考以下文章

在 Safari (cordova) 中打开外部链接

使用 admob 展示广告后,无法在 iOS 设备上的 ionic 应用程序的 iframe 内播放嵌入的 youtube 视频

无法在占位符内使用 EJS 显示数据

为何无法访问网站?

电脑可以上网,其他都正常,但无法使用百度搜索,显示无法访问此网站

iis中浏览网站时,出现“无法显示xml”的解决办法