如何在Ionic框架中显示带有iframe的HTTPS页面?

时间:2015-04-24 15:58:28

标签: javascript angularjs iframe ionic-framework

我的Ionic应用程序中有一个页面,其中显示了一个WebView(带有iframe),问题是它只能在普通的HTTP网页上运行良好,它几乎不适用于任何HTTPS页面谷歌,Twitter等。由于某种原因,似乎在应用程序中工作的唯一HTTPS页面是https://www.httpsnow.org/

代码行就是这样:

<iframe src="https://www.example.com/" height="400px" width="350px"></iframe>

我需要在我的应用中显示HTTPS WebViews,最好不必使用Cordova的inappbrowser。有没有办法用iframe或其他方式来做?

3 个答案:

答案 0 :(得分:1)

大多数大型组织(包括Google,Twitter等)都为X-Frame-Options设置了SAMEORIGIN标题,以防止框架,因为它过去曾被滥用过。

https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options

出于安全原因,这不是您可以覆盖的内容。

答案 1 :(得分:0)

我们在聊天机器人的离子应用程序上遇到了类似的问题,该应用程序连接到Django框架聊天机器人引擎后端。对于可以安全执行此操作的视图,我们通过用以下方法装饰视图来解决此问题:

@xframe_options_exempt
这会从响应标头中删除X-Frame-Options。 >

此处的Django文档信息:https://docs.djangoproject.com/en/3.0/ref/clickjacking/#setting-x-frame-options-for-all-responses

还有其他方法可以更安全地解决此问题。

答案 2 :(得分:-1)

您无法在iframe上设置X-Frame-Options。这是您请求资源的域设置的响应标头。

尝试在源域中添加Cross-origin-allow以接受所有域请求。

OR

取代iframe,重定向用户在浏览器上使用您的链接,而不是应用程序(非用户友好)。