我在TopFrame上有个css的下拉菜单,在下拉选项里面做页面跳转在TopFrame下面的mainFrame上显示,但是每当我一点下拉选项的时候,它就报错说我的脚本有错误,请各位高手给看看,谢谢!
这是TopFrmae:
<html>
<head>
<style type="text/css">
<!--
@import url("Admin_Css.css");
-->
body
{
font-size:12;
}
A:link
{
FONT-SIZE: 9pt;
COLOR: #000000;
TEXT-DECORATION: none;
}
A:visited
{
FONT-SIZE: 9pt;
COLOR: #000000;
TEXT-DECORATION: none;
}
A:active
{
FONT-SIZE: 9pt;
COLOR: #000000;
TEXT-DECORATION: none;
}
A:hover
{
COLOR: #FF0000;
COLOR: #000000;
TEXT-DECORATION: none;
}
input
{
border:1px solid #D4D0c8;
width:100;
overflow:visible;
}
button
{
border:1px solid #999999;
/*#D4D0c8*/
width:60;
overflow:visible;
margin-left:2;
cursor:hand;
font-size:12;
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff', endColorStr='#D4D0c8', gradientType='0');
}
td
{
font-size:12;
text-indent:3;
}
th
{
letter-spacing:5;
font-size:12;
height:20;
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff', endColorStr='#D4D0c8', gradientType='0');
}
table
{
border:4px #999999 double ;
border-collapse:collapse;
width:700;
}
textarea
{
overflow:visible;
width:100%;
height:100;
border:1px #D4D0c8 solid;
}
ul {
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 20px;
text-align: left;
}
</style>
<p style="display:none" id="menu1">
<TABLE width="100%" BORDER=1 style='cursor:hand' style='border:4px #999999 double;border-collapse:collapse;background-color:#ddd9d3;'>
<TR><TD style='font-size:9pt;' onclick="parent.location.href='../Game/diy_class_manage.asp'">报表打印</TD></TR>
</table>
</p>
<SCRIPT language="javascript">
var oPopup = window.createPopup();
function showMenu(obj,x)
{
var oPopBody = oPopup.document.body;
var HTML = document.all("menu" + x).innerHTML;
oPopBody.innerHTML = HTML;
var rows = HTML.match(/<TR>/g).length;
oPopup.show(obj.offsetLeft+40,obj.offsetTop+125,100,rows*18+6,document.body);
}
</SCRIPT>
</head><body topmargin="0">
<TABLE width="700" height="20" BORDER=1 CELLPADDING=0 CELLSPACING=0 style='cursor:hand'>
<TR>
<TH onmouseover="showMenu(this,1); ">报表打印</TH>
</TR>
</TABLE>
</body>
</html>
这是TopFrmae:
<html>
<head>
<style type="text/css">
<!--
@import url("Admin_Css.css");
-->
body
{
font-size:12;
}
A:link
{
FONT-SIZE: 9pt;
COLOR: #000000;
TEXT-DECORATION: none;
}
A:visited
{
FONT-SIZE: 9pt;
COLOR: #000000;
TEXT-DECORATION: none;
}
A:active
{
FONT-SIZE: 9pt;
COLOR: #000000;
TEXT-DECORATION: none;
}
A:hover
{
COLOR: #FF0000;
COLOR: #000000;
TEXT-DECORATION: none;
}
input
{
border:1px solid #D4D0c8;
width:100;
overflow:visible;
}
button
{
border:1px solid #999999;
/*#D4D0c8*/
width:60;
overflow:visible;
margin-left:2;
cursor:hand;
font-size:12;
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff', endColorStr='#D4D0c8', gradientType='0');
}
td
{
font-size:12;
text-indent:3;
}
th
{
letter-spacing:5;
font-size:12;
height:20;
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff', endColorStr='#D4D0c8', gradientType='0');
}
table
{
border:4px #999999 double ;
border-collapse:collapse;
width:700;
}
textarea
{
overflow:visible;
width:100%;
height:100;
border:1px #D4D0c8 solid;
}
ul {
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 20px;
text-align: left;
}
</style>
<p style="display:none" id="menu1">
<TABLE width="100%" BORDER=1 style='cursor:hand' style='border:4px #999999 double;border-collapse:collapse;background-color:#ddd9d3;'>
<TR><TD style='font-size:9pt;' onclick="parent.location.href='../Game/diy_class_manage.asp'">报表打印</TD></TR>
</table>
</p>
<SCRIPT language="javascript">
var oPopup = window.createPopup();
function showMenu(obj,x)
{
var oPopBody = oPopup.document.body;
var HTML = document.all("menu" + x).innerHTML;
oPopBody.innerHTML = HTML;
var rows = HTML.match(/<TR>/g).length;
oPopup.show(obj.offsetLeft+40,obj.offsetTop+125,100,rows*18+6,document.body);
}
</SCRIPT>
</head><body topmargin="0">
<TABLE width="700" height="20" BORDER=1 CELLPADDING=0 CELLSPACING=0 style='cursor:hand'>
<TR>
<TH onmouseover="showMenu(this,1); ">报表打印</TH>
</TR>
</TABLE>
</body>
</html>
比如
www.163.com和www.csdn.net如果用frame做起来,他们之间如果正常简单处理就不能互相操作
因为如果我不用那段js脚本显示下拉菜单的话是可以实现页面跳转的,但一加上显示下拉菜单,就不行了。onmouseup和onclick都不行高手救我!!!
这句有隐患问题
HTML.match(/ <TR >/g)有可能返回null,在length会报undefined错误
要加个判断
var temp=HTML.match(/ <TR >/g)
if(temp)
{
var rows = temp.length;
}如果不是每次都出错,就有可能是document.body出错,页面有加载慢的东西,比如图片,flash之类的没有加载完就使用了
-------------
应该不是的
看下你的frameset或者iframe结构吧,上面的代码东西比较多,但是比较乱。
比如frameset下包含哪个frame,每个的NAME是什么,还有调这个代码的JS在哪个frame下
,要使哪个frame的地址换掉等
先试下top.mainFrame.document.location.href
再试下parent.parent.mainFrame.document.location.href
parent.mainFrame.location.href
这两种方法都可以改变或取得框架的地址的,如果不行,把整个代码发出来给大家帮你吧。