用iframe做一個可以嵌入其它網(wǎng)頁的瀏覽量計數(shù)器 vue使用iframe嵌入網(wǎng)頁的代碼實例
- ? 2024-02-08 16:11:00
1、列表頁面:
this.$router.push({ name: 'userTemplate', params: { reportUrl: reportUrl, reportType: reportType }})
點擊查看后觸發(fā)事件,帶入?yún)?shù)跳轉(zhuǎn)到頁面;有兩種類型,0表示是絕對網(wǎng)址,1表示是本地html文件。
2、頁面:
<script> import { getFile } from '@/api/report' export default { mounted() { /** * iframe-寬高自適應(yīng)顯示 */ function changeMobsfIframe() { const mobsf = document.getElementById('child') const deviceWidth = document.body.clientWidth const deviceHeight = document.body.clientHeight mobsf.style.width = (Number(deviceWidth) - 30) + 'px' // 數(shù)字是頁面布局寬度差值 mobsf.style.height = (Number(deviceHeight) - 80) + 'px' // 數(shù)字是頁面布局高度差 } changeMobsfIframe() window.onresize = function() { changeMobsfIframe() } }, data() { return { htmlContent: '', reportUrl: '', reportType: '' } }, created() { // this.fileName = '../static/file/' + this.$route.params.report_url this.reportUrl = this.$route.params.reportUrl this.reportType = this.$route.params.reportType if (this.reportType == 1) { getFile(this.reportUrl).then(res => { if (res.code === 200) { this.htmlContent = res.data } }) } } } </script>
后端getFile:
//讀取文件 @RequestMapping("/getFile") @ResponseBody public HttpResult getFile(String reportUrl){ StringBuilder result = new StringBuilder(); try{ FileSystemResource resource = new FileSystemResource("D:"+File.separator+"test"+File.separator+reportUrl); File file = resource.getFile(); BufferedReader br = new BufferedReader(new FileReader(file)); String s = null; while((s = br.readLine())!=null){ result.append(System.lineSeparator()+s); } br.close(); return HttpResult.getSuccessInstance(result); }catch(Exception e){ e.printStackTrace(); return HttpResult.getFailedInstance("讀取異常"); } }
到此這篇關(guān)于vue使用iframe嵌入網(wǎng)頁的示例代碼的文章就介紹到這了,更多相關(guān)vue使用iframe嵌入網(wǎng)頁內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!