我的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或其他方式来做?
答案 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,重定向用户在浏览器上使用您的链接,而不是应用程序(非用户友好)。