日期:2014-05-16  浏览次数:20413 次

初学javascrip 求下面程序的意思,回答者都有分
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}


以下是调用:
 <TD width=76><IMG class=hand 
  onmousedown="MM_goToURL('parent.frames[\'Dir\']','Left.asp?Mdl=2',parent.frames[\'main\']','Inventory/InventoryNav.asp');return document.MM_returnValue" </TD>

调试时:提示 parent.frames.dir 为空或不是对象 ;parent.frames.main 为空或不是对象
怎么解决??
我刚开始学做网页,哪位兄弟帮我讲一下,回答者都有分

------解决方案--------------------
arguments是JS的传递参数数组对象,可以从这里取不定个参数
循环是每次+2,而传递的参数的规律是:奇数是框架位置,偶数的打开的链接
循环的意思是,指定参数奇数的框架位置打开本参数下一个的URL
即:鼠标按下图片后,在dir框架里跳转到'Left.asp?Mdl=2'链接,在main框架里跳转到'Inventory/InventoryNav.asp'

调试为空或不是对象,你看看你的FRAMES框架里是否有这两个名称的框架,必须用框架的方式打开

PS:这段JS是DW自动写吧(DW貌似都是有MM_开头的)?
------解决方案--------------------
JScript code

function MM_goToURL()
{ //v3.0 
  var i, args = MM_goToURL.arguments;// 定义i,获取函数参数
  document.MM_returnValue = false; // 设置document的一个属性MM_returnValue这个是自定义的
  for(i = 0; i < (args.length - 1); i += 2)  // 循环,根据参数的个数
    eval(args[i] + ".location='" + args[i+1] + "'");  // eval运行时解释执行字符串
}

------解决方案--------------------
JScript code

function MM_goToURL()
{ 
  var i, args = MM_goToURL.arguments;// 得到函数参數
  document.MM_returnValue = false; // 设置document的属性MM_returnValue
  for(i = 0; i < (args.length - 1); i += 2)  // 循环每次+2,根据参数的个数
  eval(args[i] + ".location='" + args[i+1] + "'");  // 解释执行字符串,奇数是框架位置,偶数的打开链接 
}

------解决方案--------------------

<TD width=76> <IMG class=hand
onmousedown="MM_goToURL('parent.frames[\'Dir\']','Left.asp?Mdl=2',parent.frames[\'main\']','Inventory/InventoryNav.asp');return document.MM_returnValue" </TD> 

'parent.frames[\'Dir\']这个查找的是父窗口里的框架名为dir的框架
可能是你父窗口里的没有框架名为dir的框架
下面那些是一个道理