feat: dom动态解析问题适配

This commit is contained in:
rnet 2024-03-17 09:56:42 +08:00
parent 31611433cb
commit 30f78974e9
3 changed files with 19 additions and 0 deletions

View File

@ -0,0 +1,16 @@
const utils = require('sdenv-jsdom/lib/jsdom/living/generated/utils.js');
const sdenv = require('sdenv-extend').sdenv();
const document = sdenv.memory.sdWindow.document;
const getElementsByTagNameOri = document.getElementsByTagName;
document.getElementsByTagName = (...params) => {
var findArr = getElementsByTagNameOri.apply(document, params);
if (params[0] === 'script' && document.readyState === 'loading' && document[utils.implSymbol]._currentScript) {
// dom动态解析的临时解决方案看后续是否会产生其它问题
const findIdx = [...findArr].indexOf(document[utils.implSymbol]._currentScript[utils.wrapperSymbol]);
if (findIdx > -1) {
return [...findArr].slice(0, findIdx + 1);
}
}
return findArr;
}

View File

@ -10,3 +10,4 @@ require('./ctorRegistry');
require('./location');
require('./indexedDB');
require('./RTCPeerConnection');
require('./document-element');

View File

@ -1,4 +1,6 @@
require('module-alias/register');
// const jsdomDevtoolsFormatter = require('jsdom-devtools-formatter');
// jsdomDevtoolsFormatter.install();
const SdenvExtend = require('sdenv-extend');
module.exports = (win, type = 'chrome') => {