当前位置: 首页 > 图文教程 > 网络编程 > Javascript > IE5中用JavaScript跨frame加option问题

Javascript
比较平滑的js控制textaera的高度
对JavaScript的eval()中使用函数的进一步讨论
发一个自己用JS写的实用看图工具实现代码
用JS操作FRAME中的IFRAME及其内容的实现代码
用vbs实现的连连看在线游戏
用js生产批量批处理执行命令
[原创]js判断ie方法集锦(含正则)代码短小经典
js tr控制下面的tbody隐藏和显示
javascript网页关键字高亮代码
js控制框架刷新
效率高的Javscript字符串替换函数的benchmark
javascript之更有效率的字符串替换
很可爱的输入框
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
top.location.href 没有权限 解决方法
js模拟弹出效果代码修正版
javascript 输入框提示列表效果
Div Select挡住的解决办法
二级域名或跨域共享Cookies的实现方法
Javascript与flash交互通信基础教程

Javascript 中的 IE5中用JavaScript跨frame加option问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 435 ::
收藏到网摘: n/a

跨frame加option,以下代码在IE5中会出错,但在IE4、IE6、Opera6、NNx中都没有问题:

<script>
function addOption(aSelect, optionId, optionName) { newOption = new Option(optionName, optionId); aSelect.options[aSelect.options.length] = newOption;
}
</script>


这样才是对的:
<script>
function addOption(aSelect, optionId, optionName) { ownerWindow = aSelect.document.parentWindow; ownerWindow.newOption = new Option(optionName, optionId); aSelect.options[aSelect.options.length] = ownerWindow.newOption;
}
function crossFrameAddOption() { var aSelect = parent.otherFrameName.document.forms[0].theSelectName; addOption(aSelect , "id"+ aSelect.options.length, "name"+ aSelect.options.length);
}
</script>
<input type="button" onClick="crossFrameAddOption();" value="test">

微软的解释如下: In general, at least in the older browser versions, performance seems to improve if you call methods on the target frame if they are stored there as well. This is particularly relevant when trying to add options to a select box in another frame. Make sure you create the option in that other frame so you are adding it to a local select box, instead of trying to cross frame boundaries.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebteam/html/Webteam02052002.asp