javascript跨域刷新实现代码

(编辑:jimmy 日期: 2024/10/12 浏览:2)

三个页在同一个窗口,分别为main.htm,left.htm和right.htm。
main.htm
复制代码 代码如下:
<html>
<head>
<title>实现跨</title>
</head>
<body>
<div>主窗口</div>
<iframe id="left" name="left" width="500px" height="300px;" src="/UploadFiles/2021-04-02/left.htm"><iframe id="right" name="right" width="100px" height="100px;" src="right.htm"></body>
</html>

left.htm
复制代码 代码如下:
<html>
<head><title>左边</title></head>
<body>
<div>我是左边</div>
<div><img src="/UploadFiles/2021-04-02/buysc.jpg"></body>
</html>

right.htm
复制代码 代码如下:
<html>
<head><title>右边</title></head>
<body>
<div>
<input onclick="onclickRefresh();" type="button" value="提交" /></div>
<script type="text/javascript">
function onclickRefresh()
{
parent.frames[ "left"].location.reload();
//window.left.location.reload();
}
</script>
</body>
</html>

看到right.htm里面
function onclickRefresh()通过 parent.frames["left"].location.refresh();来实现右边页面刷新左边页面.
如果在主页面加
复制代码 代码如下:
<div><input type="button" onclick="mainRefresh();" value="主提交" /></div>
<script type="text/javascript">
function mainRefresh()
{
window.left.location.reload();
}
</script>

则可以通过主页面刷新子页面。
虽然这样可以超级简单的实现的目的,但是实际项目中,数据不会是这么简单的,最常见是左\右树,目录树的创建加载(如创建一千个节点)本来就是比较耗资源。如果还是通过方式来刷新左右页面,效率之低可见而知,那么是不是可以通过其他方式来实现跨域刷新或者提交呢?
我所想到的是通过ajax实现数据局部加载。而不是整个树的加载。另外通过jquery的json处理方式也可实现局部数据的更新。
不知道还有没有其他更高效的方法?1000个节点的树加载,效率值得思考的问题。

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。