Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yma16
可视化 csdn 数据
提交
c9521c44
可
可视化 csdn 数据
项目概览
yma16
/
可视化 csdn 数据
该项目与 Fork 源项目分叉
Fork自
inscode / VueJS
通知
17
Star
15
Fork
10
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
可
可视化 csdn 数据
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
“c7159e6a80571973d5120bda399ffc64391cc460”上不存在“...provider/git@gitcode.net:openanolis/dragonwell8_jdk.git”
提交
c9521c44
编写于
3月 09, 2024
作者:
Q
qq_38870145
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Sat Mar 9 23:41:00 CST 2024 inscode
上级
224ea278
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
31 deletion
+43
-31
src/App.vue
src/App.vue
+2
-1
src/utils/index.js
src/utils/index.js
+41
-30
未找到文件。
src/App.vue
浏览文件 @
c9521c44
...
@@ -55,8 +55,9 @@ const findAppDom = () => {
...
@@ -55,8 +55,9 @@ const findAppDom = () => {
const
appDom
=
document
.
getElementById
(
'
app
'
)
const
appDom
=
document
.
getElementById
(
'
app
'
)
findAppCount
.
value
+=
1
findAppCount
.
value
+=
1
if
(
appDom
)
{
if
(
appDom
)
{
console
.
log
(
'
appDom
'
,
appDom
)
const
listenDomChange
=
new
ListenDomChange
(
appDom
)
const
listenDomChange
=
new
ListenDomChange
(
appDom
)
console
.
log
(
'
getPerformance
'
,
listenDomChange
.
getPerformance
())
console
.
log
(
'
getPerformance
'
,
listenDomChange
.
getPerformance
())
}
}
else
if
(
findAppCount
<=
1000
)
{
else
if
(
findAppCount
<=
1000
)
{
findAppDom
()
findAppDom
()
...
...
src/utils/index.js
浏览文件 @
c9521c44
...
@@ -15,37 +15,7 @@ class ListenDomChange {
...
@@ -15,37 +15,7 @@ class ListenDomChange {
this
.
calcPerformance
()
this
.
calcPerformance
()
this
.
mutationListen
()
this
.
mutationListen
()
}
}
// 监听 dom变化
mutationListen
()
{
// 选择需要观察变动的节点
const
targetNode
=
this
.
dom
// 观察器的配置(需要观察什么变动)
const
config
=
{
attributes
:
true
,
childList
:
true
,
subtree
:
true
};
// 当观察到变动时执行的回调函数
const
callback
=
function
(
mutationsList
,
observer
)
{
console
.
log
(
'
change_______________
'
,
mutationsList
)
// Use traditional 'for loops' for IE 11
for
(
let
mutation
of
mutationsList
)
{
if
(
mutation
.
type
===
"
childList
"
)
{
console
.
log
(
"
A child node has been added or removed.
"
);
}
else
if
(
mutation
.
type
===
"
attributes
"
)
{
console
.
log
(
"
The
"
+
mutation
.
attributeName
+
"
attribute was modified.
"
);
}
}
};
// 创建一个观察器实例并传入回调函数
this
.
observer
=
new
MutationObserver
(
callback
);
// 以上述配置开始观察目标节点
this
.
observer
.
observe
(
targetNode
,
config
);
// 之后,可停止观察
this
.
observer
.
disconnect
();
}
getPerformance
()
{
getPerformance
()
{
return
this
.
performanceConfig
return
this
.
performanceConfig
...
@@ -89,6 +59,47 @@ class ListenDomChange {
...
@@ -89,6 +59,47 @@ class ListenDomChange {
that
.
setPerformance
(
entry
.
name
,
domContentLoadedTime
)
that
.
setPerformance
(
entry
.
name
,
domContentLoadedTime
)
});
});
}
}
// 监听 dom变化
mutationListen
()
{
// 观察器的配置(需要观察什么变动)
const
config
=
{
attributes
:
true
,
childList
:
true
,
subtree
:
true
};
// 当观察到变动时执行的回调函数
const
callback
=
function
(
mutationsList
,
observer
)
{
console
.
log
(
'
this.dom
'
,
this
.
dom
)
const
renderHeight
=
this
.
dom
.
offsetHeight
console
.
log
(
'
renderHeight_____________
'
,
renderHeight
)
console
.
log
(
'
change_______________
'
,
mutationsList
)
// Use traditional 'for loops' for IE 11
// for (let mutation of mutationsList) {
// if (mutation.type === "childList") {
// console.log("A child node has been added or removed.");
// } else if (mutation.type === "attributes") {
// console.log("The " + mutation.attributeName + " attribute was modified.");
// }
// }
if
(
parseInt
(
renderHeight
))
{
this
.
setPerformance
(
'
fmp
'
,
performance
.
now
())
this
.
clearObserver
()
}
};
// 创建一个观察器实例并传入回调函数
this
.
observer
=
new
MutationObserver
(
callback
);
// 以上述配置开始观察目标节点
this
.
observer
.
observe
(
this
.
dom
,
config
);
}
// 可停止观察
clearObserver
()
{
this
.
observer
.
disconnect
();
}
}
}
export
{
export
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录