我正在尝试增强我们使用的内部 Web 应用程序。我正在使用自定义 favelet 来自动填充某些字段。我需要填充表单的 javascript 变量存在于内部的不同 HTML 页面上。是否可以从另一个 html 页面访问变量?它们将嵌入到外部页面文档元素中。
我不想打开弹出窗口或重定向页面。
这将作为 favelet 嵌入到页面中。
谢谢!
我正在尝试增强我们使用的内部 Web 应用程序。我正在使用自定义 favelet 来自动填充某些字段。我需要填充表单的 javascript 变量存在于内部的不同 HTML 页面上。是否可以从另一个 html 页面访问变量?它们将嵌入到外部页面文档元素中。
我不想打开弹出窗口或重定向页面。
这将作为 favelet 嵌入到页面中。
谢谢!
您可以使用 iframe 并通过frames
onload 处理程序中的对象访问其变量:
<script type="text/javascript">
// This function will run as a callback when the iframe loads
function frameLoad() {
// Access the foo variable from external.html
var foo = frames["externalFrame"].foo;
}
// Create an invisible iframe
var iframe = document.createElement('iframe');
iframe.width = 0;
iframe.height = 0;
iframe.style.display = "none";
// Reference the page on the same domain with external variables on it
iframe.src = "external.html"
// Give it a name and ID so we can access it via the frames object
iframe.id = "externalFrame";
iframe.name = "externalFrame";
// Set the load handler
iframe.onload = frameLoad;
// Append the iframe to the DOM
document.body.appendChild(iframe);
</script>
iFrame 看起来可以工作,但是在访问变量方面我仍然遇到一些问题......这会刷新显示 [object] 的当前窗口吗?
这是我到目前为止所得到的......
javascript:
var issueDoc = window.frames.editor.document;
function wwaLoad() {
alert(issueDoc.control.getSortedIdList());
}
var listFrame = issueDoc.createElement('iframe');
listFrame.width = 0;
listFrame.height = 0;
listFrame.style.display = "none";
listFrame.src = "lp.jps?data=1";
listFrame.id = "WWALIST";
listFrame.name = "WWALIST";
listFrame.onload = wwaLoad;
issueDoc.body.appendChild(listFrame);