HarmonyOS 鸿蒙Next 在web中获取H5中的div的高度
HarmonyOS 鸿蒙Next 在web中获取H5中的div的高度
.onPageEnd((event) => {
console.log("pageEnd" + JSON.stringify(event))
this.controller.runJavaScript("document.querySelector('.main').clientHeight", (error, data) => {
if (error) {
console.log("webPageEndResult:" + JSON.stringify(error))
} else {
console.log("webPageEndResult:" + "数据:" + JSON.stringify(data))
}
})
})
获取的data是1,实际是174.
更多关于HarmonyOS 鸿蒙Next 在web中获取H5中的div的高度的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可先检查下以下两点: 1.document.querySelector(’.main’) 获取的是第一个class name为main的div元素,请确保获取的元素正确; 2.onPageEnd 网页加载完成时触发该回调,且只在主frame触发。检查下网页加载完成 ‘.main’ 元素是否已经在DOM树上生成,或’.main’ 元素是否存在深层嵌套子iframe问题
//index2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试页面</title>
<script>
async function test1000() {
return new Promise((resolve) => {
setTimeout(() => {
resolve(1)
}, 1000)
})
}
function startFn() {
(async () => {
var result = await test1000();
document.getElementById("conent").innerText = result
})();
}
</script>
</head>
<body>
<div class="main" style="height: 500px;background-color: aqua;"> </div>
<div align="center" >
<button type="button" id="btn_navi" onclick="startFn()">跳转应用市场</button>
</div>
</body>
</html>
import { webview } from '@kit.ArkWeb';
@Entry
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController();
build() {
Column() {
Web({ src: $rawfile('index2.html'), controller: this.controller })
.onPageEnd((event) => {
console.log("pageEnd" + JSON.stringify(event))
this.controller.runJavaScript("document.querySelector('.main').clientHeight", (error, data) => {
if (error) {
console.log("webPageEndResult:" + JSON.stringify(error))
} else {
console.log("webPageEndResult:" + "数据:" + JSON.stringify(data))
}
})
})
}
}
}
更多关于HarmonyOS 鸿蒙Next 在web中获取H5中的div的高度的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next环境中,如果你需要在Web应用中获取H5页面中某个div
元素的高度,可以通过JavaScript实现。以下是一个基本的步骤和方法:
-
确保元素已加载:首先,确保你要获取高度的
div
元素已经加载到DOM中。可以通过将JavaScript代码放在文档的底部或使用DOMContentLoaded
事件来确保这一点。 -
选择元素:使用
document.getElementById
、document.querySelector
等方法选择目标div
元素。 -
获取高度:通过
offsetHeight
、clientHeight
或getBoundingClientRect().height
属性获取元素的高度。
示例代码:
document.addEventListener('DOMContentLoaded', function() {
var divElement = document.getElementById('yourDivId'); // 替换'yourDivId'为你的div的ID
if (divElement) {
var height = divElement.offsetHeight; // 或者使用clientHeight, getBoundingClientRect().height
console.log('Div的高度是: ' + height + 'px');
}
});
确保yourDivId
替换为你实际使用的div
元素的ID。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html