天天看点

html访问第三方网页,vue2.0打开第三方页面

场景是酱婶的:

vue页面提交数据后走第三方接口,返回的数据是一个html页面,页面上有一个隐藏的form,和隐藏的js,js中有window.onload自动提交表单,打开第三方的另一个页面。

我们要做的是解析返回的html数据,并弹出第三方的页面。

尝试了很多方法,因为vue一次性加载解析数据之后,不能解析js中的window.onload。于是我发返回的数据,自己截取了其中form,用vue的方法重新写了onload,就加载了。方法如下:

接口返回的html数据

window.οnlοad=function(){ document.getElementById("autoForm").submit(); }

以上是第三方返回数据,有保密信息用。。。省略了,这段里主要用的是form和js

js

data() {

bankHTML: ''

},

methods: {

open() {

var str = 'HTML返回数据'

var start = '

'

var end = ''

var s = str.indexOf(start) + start.length

var e = str.indexOf(end)

this.bankHTML = str.substring(s, e)

// 截取body中的form部分,返回传到页面上bankHTML,让页面解析

this.$nextTick(function() {

//必须用nextTick,让页面解析form之后再执行下面的程序

if (document.getElementById('autoForm')) {

document.getElementById('autoForm').target = '_blank'

document.getElementById('autoForm').submit()

//用document找到form,然后用_blank打开新页面,提交表单

}

})

}

}

html

v-html解析html