百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

程序员别唬我系列之:跨域与同源

zhezhongyun 2025-02-08 13:53 25 浏览

关于跨域与同源,你造吗?

产品妹子脸憋的通红,一个劲儿的摇着头,委屈的小声说:“唉呀,前端开发说目前情况是产生了「跨域」问题,浏览器有「同源策略」保证安全性,突破不了,改动成本非常高,可是不改也不行啊,用户在线上反馈几天了,老大可生气了,我可怎么办啊,老大会不会以后不喜欢我了,呜呜呜”。

此时,正是我装逼的好时光,于是我一个箭(贱)步,跳到她面前,“哭毛啊,哥在这儿呢,好好说话~”。

「同源策略」「跨域」在前端开发(通常前端都是跟浏览器打交道哦,因为更靠近用户,更多的将后台数据展示给用户,所以叫前端)中,是很基本的常识,很多没做过前端开发的程序员其实也不是很了解这种策略和场景(注意,没有鄙视的意思,请不要乱扣帽子),更不用说很多产品同学,为了不再被忽悠,请听我九浅一深的解读。

先说iframe

首先说说iframe,iframe是html中的一个标签,它可以指定一个随意的Url地址,比如我写了个网页是www.a.com/index.html,内容如下:

iframe里面的src字段为www.qq.com,那这个网页打开之后,会看到腾讯网整个页面嵌入到了我写的这个index.html网页当中,iframe的意义非常简单,就是将一个Url地址嵌入到当前页面并展示出来。

你给远方的情郎写了一封情书,当把邮票贴在信封右上角的时候,信封为页面,邮票可以想象为一个iframe标签,它里面也描写很多内容(有山,有水,有人家)。

其中信封是在超市买的,邮票是在邮局买的,它俩生产厂家,品牌,材质,毫不相干,但组合在一起可以发挥作用。信封属于“超市”这个域,邮票属于“邮局”这个域。

有这样一种需求,一个网站有3个展示页面,每个页面都有一个评论区,那这个评论区可以封装为一个url,并用iframe嵌入到每个不同的页面当中去,全局复用一套评论区的代码,节省程序员,逻辑又好维护,只要一个人实现就可以了哦。

这就是iframe大概的用途,嵌入另一个页面,两个页面功能可以解耦和,不依赖对方而存在。

再说跨域

还是上面贴出来那一段简单代码,我已经写好了一个网页,跟腾讯网一模一样哦。

我动了坏心思,假设我有渠道能搞来流量,为啥我不在当前页面当中替换掉腾讯网的广告位置,而变成我的广告呢,靠这些流量不就把钱挣了嘛,而且用户也没什么感知,商业体验两不误,有没有任何的服务器和流量的花销。

于是我又开始改造代码了,争取能完成这个功能,分分钟走向人生巅峰呢~

这里在

相关推荐

css实现多行文本的展开收起(css实现一行多列)

背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...

飞牛nas 中继功能再加强!跟所有穿透说再见吧!

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:科技菜菜原本飞牛nas的每周更新在周四,这次五一小长假!就提前更新了,虽然音频直通和离线播放是这次更新的主要内容,但是最让所有人开心的则是一...

这13个前端库,帮我在工作中赢得了不少摸鱼时间

前言平时开发的过程中,常常会使用到一些第三方库来提高开发效率,我总结了自己工作这么久以来经常用到的13个库,希望对大家有帮助~antd全称应该是AntDesign,这是一个React的组件库...

前端开发总踩坑?7 个 TypeScript 救命技巧速来查收!

在当下的前端开发浪潮中,React、Vue持续霸榜,Webpack性能优化话题不断,而TypeScript凭借强类型特性,成为众多开发者提升代码质量的“秘密武器”。可实际开发时,不少人被类型推导混乱...

不花一分钱!提升网站访问速度(让网站访问量提高的最好的方法是什么)

原创实用技巧不易,多多转发支持|现在很多公司都通过搭建官方网站的方式,比如电脑报全媒体群就有蛋黄星球(www.cpcw.com)来宣传自己的公司以及相关的产品。但是由于网友所处的位置不同,再加上网络...

Excel常用技能分享与探讨(5-宏与VBA简介 VBA之用户窗体-框架)

书接上文,以下是VBA用户窗体中常用控件的详细解析,涵盖核心属性、关键事件、典型应用场景及代码示例,助您精准掌握每个控件的使用方法。三、核心控件精讲3.7.框架(Frame)3.7.1、框架控件(Fr...

Excel常用技能分享与探讨(5-宏与VBA简介 VBA之用户窗体-高级用法)

书接上文,之前是VBA用户窗体中常用控件的详细解析,涵盖核心属性、关键事件、典型应用场景及代码示例,下面是窗体的最后一点我能想到的一些其他漏掉的东西。四、窗体交互进阶技巧4.1非模态窗体frmSea...

16.python学习笔记-页面样式(python 页面设计)

上一章我们完成了“学习笔记”Web应用程序的大部分功能,本章我们将通过Bootstrap对页面样式进行美化,这样会让我们的项目看起来更加专业。页面样式Bootstrap主页地址:https://get...

第8天 | 14天搞定Vue3.0,事件处理(详细)

在JavaScript语言中,当用户与UI组件交互时,UI组件能够激发一个相应事件。例如,用户按动按钮、滚动文本、移动鼠标或按下按键等,都将产生一个相应的事件。Vue3.0使用v-on指令(缩写为@符...

前端如何实现新手引导功能?(前端新手指引)

大家好,我是Echa。在产品发布新版本或者有新功能上线时,经常需要新手引导功能来引导用户了解应用。下面就来分享几个开箱即用的新手引导组件库,帮你快速实现新手引导功能!Intro.jsIntro.js...

C#_WPF_按钮模板及自定义控件的使用

源码私信联系WPF功能强大,但是控件的用法与Winfrom不大一样。这个文件主要说明了Button控件的用法。希望能给大家一个启示。1、按钮加入图片<ButtonGrid.Ro...

Excel常用技能分享与探讨(5-宏与VBA简介 VBA之用户窗体-命令按钮)

书接上文,以下是VBA用户窗体中常用控件的详细解析,涵盖核心属性、关键事件、典型应用场景及代码示例,助您精准掌握每个控件的使用方法。三、核心控件精讲3.3.命令按钮(CommandButton)3....

Vue指令:v-bind动态属性绑定(vue动态绑定属性值)

1.v-bind:指令认识和基本使用上一小节的学习,让我们理解以v开头的指令后面跟的将是表达式,同样标签也有一些合法的标签属性.如果想将这些属性的值变为表达式,我们可以使用Vue提供的v-bind:...

C#-初始窗体程序的控件,属性,事件 123

新创建的窗体可以说是一个空白的窗体,窗体中什么东西都没有,如果想要把窗体设置成像QQ,酷狗等一样拥有丰富功能和画面的窗体应用界面,则需要手动添加,常用的添加方式有两种即拖控件和编写代码,然后设置其相应...

Js基础7:表单元素属性(js表格属性)

一、封装获取元素的方法封装思想——函数封装——代码复用 function get_id(id){    //这个函数是专门来通过id获...