|
|
|
@ -90,6 +90,7 @@ async function handle(url, htmlStr, jsText, cookie, userAgent) { |
|
|
|
|
} |
|
|
|
|
// 加载dom
|
|
|
|
|
let dom = await jsDom(htmlStr); |
|
|
|
|
console.log('html 加载--->', dom.serialize()) |
|
|
|
|
window = dom.window |
|
|
|
|
// js执行成功后的瑞树会跳转页面 会触发onbeforeunload钩子
|
|
|
|
|
window.onbeforeunload = async (url) => { |
|
|
|
@ -104,17 +105,16 @@ async function handle(url, htmlStr, jsText, cookie, userAgent) { |
|
|
|
|
let js = loadJs(window, jsText); |
|
|
|
|
// 执行 js
|
|
|
|
|
let script = new Script(js); |
|
|
|
|
console.log('js 加载--->', js) |
|
|
|
|
|
|
|
|
|
let internalVMContext = dom.getInternalVMContext(); |
|
|
|
|
script.runInContext(internalVMContext); |
|
|
|
|
// 等待 onbeforeunload 钩子触发后的回掉
|
|
|
|
|
let timeout; |
|
|
|
|
let reTry; |
|
|
|
|
let timeout = -1; |
|
|
|
|
let reTry = -1; |
|
|
|
|
if (process.env.NODE_ENV === 'prod') { |
|
|
|
|
timeout = 100 |
|
|
|
|
reTry = 10 |
|
|
|
|
} else { |
|
|
|
|
timeout = 1000 |
|
|
|
|
reTry = 10 |
|
|
|
|
} |
|
|
|
|
let val = await store.waitGetAndDelete(uuid, timeout, reTry) |
|
|
|
|
|
|
|
|
|