1 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。 frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架 Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入 的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame>< /Frame>所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内 容的代码。
以上是网上搜索的内容,我理解是frame之间不可以相互获得节点
<script type="text/javascript">
var contextPath = "${pageContext.request.contextPath}";
</script>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/common/taglibs.jsp"%>
框架上面
<script type="text/javascript" src='
</script>
rel="stylesheet" href='
'/>
rel="stylesheet" href='
'/>
<script type="text/javascript" language="javascript">
function display(id) {
$("a").attr("class","");
$("#"+id+"").attr("class","on");
window.parent.document.getElementById("frame_left").contentWindow.displayShow(id);
}
$(function(){
$("#index_logout").click(function(){
location.href = "${pageContext.request.contextPath}/logout.action";
});
//动态获取主菜单
$.ajax({
url: '${pageContext.request.contextPath}/resource/getMenuList.action',
data:{'menuId': 0, 'menuType': 1},
type: "POST",
success: function (map) {
if(map != null && map != null){
var mainMenuPanel = $('#mainMenuPanel');
var innerHtml = '';
var data = map.data;
for(var i = 0; i < data.length; i++){
innerHtml += "
- " + data[i].resourceName + "
- ";
}
mainMenuPanel.prepend(innerHtml);
}
},
error: function () {
alert("页面按钮加载失败,请联系管理员!");
}
});
});
</script>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/common/taglibs.jsp"%>
框架左面
<script type="text/javascript" src='
</script>
rel="stylesheet" href='
'/>
rel="stylesheet" href='
' />
<script language="javascript">
function addpanel(id,title,html) {
var src ='${pageContext.request.contextPath}/resource/'+html;
window.parent.document.getElementById("framemain").contentWindow.addtabs(id,title,src);
}
function displayShow(id) {
$(".test").hide();
$("#"+id).show();
}
/* function mainmenu(menuid){
$('#leftMenu').empty();
//动态获取分类菜单
$.ajax({
url: '${pageContext.request.contextPath}/resource/getMenuList.action',
data:{'menuId': menuid, 'menuType': 2},
type: "POST",
success: function (map) {
if(map != null && map != null){
var data = map.data;
//alert(data[0].url);
var leftMenuPanel = $('#leftMenu');
var innerHtml = '';
for(var i =0; i
"+data[i].resourceName +" ";
}
leftMenuPanel.prepend(innerHtml);
}
},
error: function () {
alert("页面按钮加载失败,请联系管理员!");
}
});
} */
$(function(){
//动态获取主菜单
$.ajax({
url: '${pageContext.request.contextPath}/resource/getSecondMenuList.action',
data:{'menuId': 0, 'menuType': 1},
type: "POST",
success: function (map) {
if(map != null && map != null){
var leftMenuPanel = $('#leftMenu');
var innerHtml = '';
var data = map.data;
var outHtmlUp = '';
var outHtmlDown ='';
var allHtml ='';
for(var i = 0; i < data.length; i++){
outHtmlUp = "
";
allHtml += outHtmlUp+innerHtml+outHtmlDown;
innerHtml='';
}
$('#leftMenu').empty();
leftMenuPanel.prepend(allHtml);
$('.test').eq(0).show();
}
},
error: function () {
alert("页面按钮加载失败,请联系管理员!");
}
});
});
</script>
本来想在top.jsp页面获取到left.jsp页面的节点然后将后台获取的数据添加到left页面,无奈搞了半天也没有获得节点来,最后不得不在top.jsp中通过
function display(id) {
$("a").attr("class","");
$("#"+id+"").attr("class","on");
window.parent.document.getElementById("frame_left").contentWindow.displayShow(id);
}
函数调用left.jsp中的
function displayShow(id) {
mainmenu(id);
$(".test").hide();
$("#"+id).show();
}