由于“X-Frame-Options“指令设为“sameorigin“,已拒绝在框架中载入“https://www.baidu.com/”。

vue项目里面有一个iframe组件,想在iframe组件里面加载一个第三方的网站,比如百度,一直报错:由于“X-Frame-Options“指令设为“sameorigin“,已拒绝在框架中载入“https://www.baidu.com/”。


图片.png


代码如下:

<template>
    <iframe ref="abc" :style="style" :src="url" frameborder="0"></iframe>
</template>

<script>


    @Component({
        components: {},
    })
    export default class DesignerIframe extends Vue {
     
        get url() {
        
            return "https://www.baidu.com";
        }
        
       
    }
</script>


mideum T0 发布于1年前

最佳解决方案

原因分析

原因是iframe想要加载的网站设置了 X-Frame-Options为sameorigin,也就是不需要跨域被调用,所以无法加载第三方网站。这个是第三方网站的安全设置,自己无法修改,只能加在自己的网站,并且设置 X-Frame-Options:allow-from https://example.com/

当第三方网站设置了不允许跨域访问时,就无法通过iframe的方式进行加载。请假在自己的网站, 并且规范设置X-Frame-Options


X-Frame-Options 有三个可能的值:

X-Frame-Options: deny
X-Frame-Options: sameorigin
X-Frame-Options: allow-from https://example.com/


mideum T0 被采纳率100%
2021-08-14 11:48
打赏 0 1
页面统计
1484 访问
0 帮助
0.00 打赏

hierror 2019 © hierror.com 京ICP备13026190号-1

通知消息
  • 暂无任何消息