需求:帆软的网页组件嵌套一个HTML页面,HTML页面要给帆软发消息。
解决方法是:fineReportWindow.duchamp.getWidgetByName("txt1").setValue('666');
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML Page for FineReport</title>
</head>
<body>
<button id="sendButton">发送消息</button>
<script>
// 获取按钮元素
var sendButton = document.getElementById('sendButton');
// 向帆软发送消息的函数
function sendMessageToFineReport(message) {
// 假设 parent 是帆软的窗口对象,这里需要根据实际情况修改
var fineReportWindow = parent;
// 使用 postMessage 发送消息
fineReportWindow.postMessage(message, {});
fineReportWindow.XXX=1;
console.log(fineReportWindow);
fineReportWindow.duchamp.getWidgetByName("下拉框1_页面1").setValue('87897232');
//window.postMessage(message, '*');
}
// 监听按钮点击事件
sendButton.addEventListener('click', function() {
sendMessageToFineReport('999');
});
</script>
</body>
</html>
注意不要跨域,html页面可以丢到帆软的安装目录下。这样就同一个域名了