日期:2014-05-18  浏览次数:20503 次

这个问题应该很简单啊但就是调不通!!!!!!!
大家帮我看一段代码:

<head>
  <title></title>
  <script language="javascript" type="text/javascript">
  //定义嵌入对象
  var map = document.frames["IMap"];

  </script>
</head>
<body>
  <iframe src=" http://localhost:3298/WebMap/map.htm" width='100%' height="800px" id="IMap">
  </iframe>
</body>

报错为: Cannot read property 'IMap' of undefined

是document.frame[]没用对吗

------解决方案--------------------
你的脚本位置不对,脚本运行时下边的iframe还没加载呢,所以肯定获取不到对象,解决办法是在window.load中加载,或者把上面那段脚本放在iframe的下边

================================================
ASP.NET分页最终解决之道:http://www.webdiyer.com
------解决方案--------------------
window.onload=function()
{

var map = windows.frames["IMap"];
}

id="IMap">
改成
name="IMap">
------解决方案--------------------
var map = document.frames["IMap"];这句话是不是应该放到一个function中啊,要不frame还没生成,你就访问了
------解决方案--------------------

要其它浏览器都取得到是不是要用window['IMap']?

HTML code

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script language="javascript" type="text/javascript">
  
  window.onload = function()
  {
     //定义嵌入对象
     var frm =window['IMap'];          
  }
 

  </script>
</head>
<body>
  <iframe src="a.aspx" width='100%' height="800px" name="IMap" id="IMap">
  </iframe>  
</body>
</html>