天天看點

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