电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

在vue中實(shí)現(xiàn)嵌套頁面(iframe)

瀏覽:104日期:2022-12-21 17:18:35

vue中嵌套iframe,將要嵌套的文件放在static下面。src可以使用相對(duì)路徑,也可使用服務(wù)器根路徑http:localhost:8088/…

<iframe src='http://www.hdgsjgj.cn/static/plusPro.html' frameborder='0' scrolling='auto'style='position:absolute;top: -300px;left: 0px;'></iframe>

補(bǔ)充知識(shí):關(guān)于VUE嵌套iframe的一系列問題

此文是建立在vue-cli之上 ,當(dāng)然單寫也可以,下文會(huì)涉及一些關(guān)于cli的知識(shí),單寫的請(qǐng)忽略;

最近有很多小伙伴問超哥關(guān)于vue中嵌套iframe一些問題。

猶豫本尊最近轉(zhuǎn)型了react,關(guān)于vue的問題以后會(huì)在csdn發(fā)表博客。

廢話不多說,直接進(jìn)入正題;

本尊并不建議vue嵌套iframe,當(dāng)然會(huì)有那些個(gè)比較惡心的需求,例如在讀的小伙伴。

申明:本尊在iframe頁面寫入的是JQ,因?yàn)楹蚔UE沒有特別大的牽連,所以直接操作dom了,如果有同學(xué)依然想在iframe頁面中也是可以的,只需把本尊的代碼copy copy copy,然后在改吧改吧就OK了。

問題 1 (go back)

例如:在iframe頁面中有諸多跳轉(zhuǎn),當(dāng)完成玩iframe頁面中一些操作時(shí),此時(shí)點(diǎn)擊瀏覽器的回退功能,那么恭喜你中獎(jiǎng)了,你回退的是iframe頁面,并無法回退和iframe無關(guān)聯(lián)的vue頁面,一直點(diǎn)擊瀏覽器的回退,可能會(huì)一直重復(fù)iframe連接的幾個(gè)頁面,或直接404,或空白。

解決辦法:使用H5的history對(duì)象。

code:

$(document).ready(function(e) { var counter = 0; if (window.history && window.history.pushState) { $(window).on(’popstate’, function () { window.history.pushState(’forward’, null, ’#’); window.history.forward(1); window.parent.location.hash=’/newActivity’;//這里寫你自己要回退的路徑}); } window.history.pushState(’forward’, null, ’#’); //在IE中必須得有這兩行 window.history.forward(1); });

介紹:

popstate:每當(dāng)同一個(gè)文檔的瀏覽歷史(即history對(duì)象)出現(xiàn)變化時(shí),就會(huì)觸發(fā)popstate事件。

forward:移動(dòng)到下一個(gè)訪問頁面,等同于瀏覽器的前進(jìn)鍵。

其他的沒啥了吧,相信大家也都能看懂,其實(shí)只需copy copy copy;

問題 2 (iframe中的請(qǐng)求);

關(guān)于請(qǐng)求其實(shí)沒啥要說的,但是還是有人會(huì)問,既然問了那就順便說一下吧。

例如:有一個(gè)活動(dòng)詳情頁面iframe,活動(dòng) 列表是vue層,點(diǎn)擊活動(dòng)列表某一項(xiàng)跳詳情,此時(shí)請(qǐng)求接口,地址欄帶參數(shù),像這種頁面一般在iframe頁面請(qǐng)求的接口中,最主要的參數(shù)就是活動(dòng)ID,當(dāng)然不排除你們公司有個(gè)奇葩后臺(tái),或者剛從某培訓(xùn)機(jī)構(gòu)培訓(xùn)出來的所謂大牛,以此類推,參數(shù)繼續(xù)帶過來。

code:

function PcCommon(){ this.baseUrl=’https://xxxxxxx’;這里寫你的基址路徑}PcCommon.prototype={ GetQueryString: function(name) { return decodeURIComponent((new RegExp(’[?|&]’+name+’=’+’([^&;]+?)(&|#|;|$)’).exec(location.href)||[,''])[1].replace(/+/g,’%20’))||null; },//獲取地址欄參數(shù) ajaxPost:function(){ $.ajax({ url:this.baseUrl+url+signParam(), type:’POST’, async:true, data:JSON.stringify(data), dataType:’json’, headers:{ 'Authorization':getCookie(’token’), 'Content-Type':'application/json;charset=UTF-8' }, success:function(res){ if(typeof success == ’function’){ success(res) } } }) },//二次分裝ajax goTop:function(id){ var num = $(’.’+id).offset().top+125+’px’; $(’html,body’, window.parent.document).animate({scrollTop: num }, 500); }//分裝的滾動(dòng),白送}

這是本尊寫的一個(gè)簡單的base.js就是原生的面向?qū)ο蟆?/p>

寫到基址路徑的時(shí)候這里還真有必要說一下這個(gè)請(qǐng)求。

首先vue打包的時(shí)候并不會(huì)把iframe中的html打包進(jìn)去,所以當(dāng)初你在main.js中設(shè)置的那些基址以及common是不能用的,所以base.js才產(chǎn)生了基址路徑,當(dāng)然你準(zhǔn)備部署的時(shí)候一定要記得改掉你的基址路徑,建議,最好寫兩個(gè),一個(gè)注釋,一個(gè)打開,也挺方便,一目了然;

接下來是調(diào)用,上代碼;

code:

var newHd=new PcCommon(); var actStage=newHd.GetQueryString(’actStage’);//獲取iframe地址欄參數(shù)實(shí)例 var actId=newHd.GetQueryString(’actId’);//獲取活動(dòng)ID newHd.baseUrl = ’http://192.168.0.13:7500/’;//更改你的基址路徑,上線的時(shí)候直接注釋掉就OK $(’.confirm_simne_btn’).on(’click’,function(){ var that=this; newHd.ajaxPost( ’/activity/v1/invitation/claimPrize’, { activityId:actId, prizeLevel:id }, function(res){ console.log(res)//直接寫你的操作就OK } ) })

就個(gè)簡單的ajax請(qǐng)求,真沒啥要說,不過剛剛在寫文的過程中又想起一些知識(shí)點(diǎn),繼續(xù)下文。

問題 3(由問題2引發(fā)===>關(guān)于目錄)

npm run build 相信這條命令是干啥的大家都清楚,會(huì)生成一個(gè)dist文件,在這里我不批判他人,只說我的做法;

例如:還是拿活動(dòng)舉例,活動(dòng)列表下有諸多個(gè)不同的template,猶豫打包并不會(huì)把iframe文件打包進(jìn)去,所以我直接把他放在dist文件下,發(fā)布的時(shí)候直接打包dist。

直接上圖:

在vue中實(shí)現(xiàn)嵌套頁面(iframe)

簡單的介紹一下,dist不用多說了,static以及index.html也不用說了,最主要的看newAct這個(gè)夾子,這個(gè)夾子就是你們所謂的活動(dòng)夾子,里面有public和view,public主要放的一些公共的css、js、以及第三方包。view里面就是各個(gè)活動(dòng)的夾子,例如duyuesheng這個(gè)夾子,就和你正常寫H5一樣,里面 有js、css,這些你們就隨意發(fā)揮吧。

就先介紹到這里?

還有在iframe中操作vue的方法,在firame中跳轉(zhuǎn)到vue指定的路徑....問題有很多,也不是一句兩句能說清楚的,關(guān)鍵沒個(gè)很好的例子給大家演示,就這樣吧,有不懂的可以留言或者私密我....

此文寫給那些需要的人看,不喜勿噴!!希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 成都租车_成都租车公司_成都租车网_众行宝 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 网站制作优化_网站SEO推广解决方案-无锡首宸信息科技公司 | 电加热导热油炉-空气加热器-导热油加热器-翅片电加热管-科安达机械 | 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 不锈钢拉手厂家|浴室门拉手厂家|江门市蓬江区金志翔五金制品有限公司 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 | 钢托盘,钢制托盘,立库钢托盘,金属托盘制造商_南京飞天金属制品实业有限公司 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 找培训机构_找学习课程_励普教育| 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] |