top.frames不适用于chrome
我有3个html页面。 main.html,page1.html和page2.html。 我使用以下代码在main.html中显示page1.html和page2.html。
page1.html代码
.content {display:none;} Result Details Click on me to see more details in other page R1 data
和Page2.html代码
我的JavaScript myjs.js
$(document).ready(function () { $('table').on('click', 'tr', function () { var doc =window.top.frames['f2'].document; var divElmnt = $(doc.getElementById('myDiv')); $(divElmnt.html($(this).find('.content').html())); }); });
使用此代码,在单击表格行时,我可以在page2的“mydiv”div中显示div“content”内容。
这适用于IE和FF但不适用于Chrome。 错误:doc未定义。 chrome的window.top.frames [‘f2’]的等价物是什么。
为您的FrameSet和您的Frame提供一个ID:
var $fs = $("#fs"); var f2 = $fs.find("#f2");
f2现在是一个jQuery对象。
问题出在本地文件的Chrome安全标志上,即file:///。 在使用“–allow-file-access-from-files”标志选项启动Chrome后,top.frames正常运行。
此外,我在这里找到了一个关于与JavaScript的帧间通信的有用文档。