让GET请求提前执行,鼠标移动到页面某个元素之后,请求完成的情况下,处理结果,打开返回的结果中的链接
暂时考虑延时1500ms,等待请求完成,处理返回结果中的链接
能否不用延时,在打开请求结果链接时,判断GET请求是已经完成
请求函数,获取返回结果的一个链接,并立即执行请求
var jhref;
function getWebsite(s) {
let xhrResult = '';
jhref = 'http://aaa.com';
GM_xmlhttpRequest({
method: 'GET',
url: jhref,
onload: function (result) {
xhrResult = result.status;
let domNew = new DOMParser().parseFromString(result.responseText, 'text/html');
let linkElement = domNew.querySelectorAll('.item>a')[0];
if(linkElement != undefined) {
jhref = linkElement.href;
} else {
xhrResult = 404;
}
},
onerror: function (result) {
console.log(result);
},
});
}
getWebsite(text);
鼠标移动到一个元素上执行返回结果中的链接,一定是要在GET请求完成后执行
window.open(jhref)
这代码写的。。。给的也太少了,只看提供的代码看不出什么。
看写法,暂时认为是 jQuery 之类的东西。
这里 ajax 的状态应该存到一个固定位置,jQuery 就是 dom 上,vue 或者 react 就是 state 里面,然后根据不同的状态读出来再给用户显示。
这样在使用的时候直接读状态就是稳定的,而不用延时了