我是个应用程序开发者。
我想用脚本显示通过firebase通信获得的标题og:title。
<html>
<head>
<!--title>Investing People</title-->
<!--script type="text/javascript" src="share.js"></script-->
<meta property="og:title" content="채팅방 공유" />
<meta property="og:description" content="이미지를 클릭하여 채팅방에 참여하세요" />
<meta property="og:type" content="website" />
<meta property="og:url" content="" />
<meta property="og:image" content=""/>
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Expires" CONTENT="-1">
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-storage.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-firestore.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.slim.js" integrity="sha256-HwWONEZrpuoh951cQD1ov2HUK5zA5DwJ1DNUXaM6FsY=" crossorigin="anonymous"></script>
<script type="text/javascript" src="share.js"></script>
<script async>
var _url = new URL(location.href);
var _urlParams = _url.searchParams;
var _code = _urlParams.get('code');
if(_code == null || _code == '') {
location.href='https://localhost:5000';
} else {
var title = getRoomTitle(_code);
if(title != null) {
var _result = title + ' 방을 공유합니다';
document.title = _result;
$("meta[property='og\\:title']").attr("content", _result);
// alert(value);
console.log('title = '+ _result);
console.log('미리보기 제목 = '+ document.querySelector("meta[property='og:title']").getAttribute("content"));
} else {
location.href='https://localhost:5000';
}
/*var _title = getRoomTitle(_code).then((value) => {
var _result = value + ' 방을 공유합니다';
document.title = _result;
$("meta[property='og\\:title']").attr("content", _result);
console.log('title = '+ _result);
console.log('img path = '+ document.querySelector("meta[property='og:title']").getAttribute("content"));
});*/
console.log('script 끝');
}
</script>
<body>
<a>잠시만 기다려주세요.</a>
</body>
</head>
</html>
getRoomTitle()函数位于share.js中。
async function getRoomTitle(roomNo) {
var value = await db.collection('TALK').doc(roomNo).get();
if(value.data() != null) {
var _data = value.data();
var title = _data['title'];
console.log('_data= ' + _data['title']);
return title;
} else {
console.log('collection select error');
return '';
}
}
脚本结束日志正在被获取,而getRoomTitle()中的日志正在被获取。
有解决办法吗?
发布于 2022-05-23 06:20:16
你可以试着等待:
var title = await getRoomTitle(_code);https://stackoverflow.com/questions/72343542
复制相似问题