【发布时间】:2021-09-15 19:30:36
【问题描述】:
我有 SAP 系统,我可以在其中集成 HTML 页面。此 HTML 页面在 Button Click 上启动。
按钮点击每次都会改变 iframe 源的值。 据我了解基本,我编写了以下代码,在第一次点击时运行良好。 HTML 页面被加载。
<!DOCTYPE html>
<html>
<body onLoad="myFunction()">
<iframe id="myFrame" src="http://www.w3schools.com/" height="1000" width="2000" frameborder="0"></iframe>
<script>
function myFunction() {
document.getElementById("myFrame").src = sap.byd.ui.mashup.context.inport.FirstName;
}
</script>
</body>
</html>
当我第二次单击时,sap.byd.ui.mashup.context.inport.FirstName 的值发生了变化,但 iframe 中没有变化。
我看到有一个名为onChange 的事件,但我无法正确使用它。谁能帮我做这件事?
【问题讨论】:
-
该代码中没有按钮。你只是在
body onload上调用你的函数,它只会运行一次。 -
@Ozan : 按钮在 SAP 系统中,它改变了 `sap.byd.ui.mashup.context.inport.FirstName` 的值。这部分集成在SAP系统中。
-
这里,在你的代码中,
src的iframe是myFunction()。这会在body onload上调用,它只会为 html 页面运行一次。一旦将sap.byd.ui.mashup.context.inport.FirstName的值赋值为iframe.src,更改FirstName将不会影响iframe.src;更改Firstname后需要再次调用myFunction()才能更改iframe.src -
@Ozan:是的,我明白这一点。但是如何做到这一点。
-
这主要是关于 SAP 的问题,而不是关于 javascript 的问题。我一点也不知道它是如何与 javascript 通信的。你有办法从 SAP 调用 javascript 函数吗?您的问题不在于您编写的 html/js 代码,而在于您省略的 SAP 代码。
标签: javascript html dom iframe dom-events