2 dafo dafo_ 于 2016.02.19 09:39 提问

js如何动态添加table到另一个html页面

如题,页面是用的frame,想实现点击A页面的一个按钮实现B页面的table动态添加,

5个回答

showbo
showbo   Ds   Rxr 2016.02.19 10:56
已采纳

我这里firefox,ie11都没有问题,chrome通过http访问也没有问题

 <iframe id="rightFrame" height="300" width="100%" src="x.html"></iframe>
<input type="button" value="addRow" onclick="addRow()" />
<script>
    function addRow() {
        var topWin = top.document.getElementById('rightFrame').contentWindow;
        var list2 = topWin.document.getElementById('planTable');
        console.log(list2)
        var l = list2.rows.length;
        for (var i2 = l - 1; i2 >= 0; i2--) list2.deleteRow(i2);
        var row = list2.insertRow(list2.rows.length);
        var cell = row.insertCell(0);
        cell.innerHTML = '11';
        cell = row.insertCell(1);
        cell.innerHTML = '22'
        cell = row.insertCell(2);
        cell.innerHTML = new Date().getTime()

    }
</script>

x.html


<table id="planTable" border="1"></table>
showbo
showbo   Ds   Rxr 2016.02.19 09:53

没跨域可以用parent或者document.getElementById('iframe').contentWindow得到父页或者iframe的window作用域进行操作,跨域了没搞,而且本地测试不要用webkit核心浏览器如chrome,无法互访

iframe和父页,window.open打开页面之间的引用

dafo_
dafo_ 代码在下面发图了,没跨域
接近 2 年之前 回复
showbo
showbo 回复dafo_: 代码呢?没跨域吧,还有不要用webkit核心浏览器
接近 2 年之前 回复
dafo_
dafo_ 我就是这么写的,得到了B页面的window对象,但是就是对B页面动态添加的时候添加不上,
接近 2 年之前 回复
enpterexpress
enpterexpress 回复苏小喵: (。)(。)
接近 2 年之前 回复
devmiao
devmiao 标准答案
接近 2 年之前 回复
diaoliwei2
diaoliwei2   Rxr 2016.02.19 09:46

有跨域吗?没跨域的话应该好处理吧

dafo_
dafo_   2016.02.19 10:02

图片说明
但是就是B页面的table没有动态生成,不知道为什么,也没有报错信息

showbo
showbo 回复dafo_: 代码发全来看看,还有浏览器是什么
接近 2 年之前 回复
dafo_
dafo_ 嗯,没错误,代码页都走完了,就是不动态添加table
接近 2 年之前 回复
showbo
showbo 没看到有什么问题,F12控制白没报错什么的?iframe的id没错误吧。
接近 2 年之前 回复
dafo_
dafo_   2016.02.19 11:24

大神你得代码的确好使,我也就想实现这种效果,
我在看看我的是不是哪写错了,今天前台比较忙,然后我做后台的就去做了点前台的东西,
小弟在此,谢谢大神了!!!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!