POBrowser回调父页面的函数传值
POBrowser回调父页面的函数传值
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
POBrowser内置的JS函数CallParentFunc用于PageOffice浏览器打开的页面(子页面)回调父页面JS函数,此功能有如下用途:
- 可以实现子页面调用父页面的JS函数;
- 可以实现子页面给父页面传参;
- 可以实现子页面更新父页面的局部状态信息;
- 可以实现子页面刷新整个父页面等功能。
后端代码
本示例无后端关键代码。
前端代码
例如:调用openWindow的页面(父页面)有一个计数器,每次点击子页面中的按钮都回调父页面函数使得这个计数器的值+1。
- 父页面代码。
首先,在页面添加一个input用来展示数据;
<div>Count=<input id="Text1" type="text" value="0"/></div>
然后,定义一个updateCount函数增加计数;
updateCount(value) {
let count = parseInt(document.getElementById("Text1").value);
count = count + value;
document.getElementById("Text1").value = count;
return count.toString();
}
- 接着上述步骤,子页面(POBrowser打开的页面)按钮点击时,通过执行下面的increaseCount函数回调父页面的updateCount函数。
increaseCount(value) {
var sResult = window.external.CallParentFunc("updateCount(" + value + ");");
if (sResult == 'poerror:parentlost') {
alert('父页面关闭或跳转刷新了,导致父页面函数没有调用成功!');
return false;
}
alert("现在父窗口Count的值为:" + sResult);
}