window.showModalDialog的问题,达人进! http://community.csdn.net/Expert/topic/3238/3238827.xml?temp=.119137 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将窗口对象做为参数传给模态窗口window.showModalDialog("test.htm",window);-----------------------------------模态窗口中alert(dialogArguments.document.body); http://www.csdn.net/Develop/read_article.asp?id=15113 to All:谢谢各位的帮助!我这里的具体情况是这样的:目前已经写好一个基于ASP.NET的B/S系统,客户端完全用js控制,有n多模块,js总共将近5万行。要在客户端保存用户的设置,我们使用behavior = "url(#default#userData);";的方法。封装了两个方法,如下:function SetCookie(sName, sValue){ var _userData = document.getElementById('_userData'); if (!_userData) { if (document && document.body) { _userData = document.createElement("span"); _userData.id = "_userData"; _userData.style.behavior = "url(#default#userData);"; document.body.appendChild(_userData); _userData.load("_userData"); } } if (!_userData) { return; } _userData.setAttribute(sName,sValue); _userData.save("_userData");}function GetCookie(sName){ var _userData = document.getElementById('_userData'); if (!_userData) { if (document && document.body) { _userData = document.createElement("span"); _userData.id = "_userData"; _userData.style.behavior = "url(#default#userData);"; document.body.appendChild(_userData); _userData.load("_userData"); } } if (!_userData) { return ""; } var sValue = _userData.getAttribute(sName); return !!sValue ? sValue : "";}还做了一个人员选择控件,在主窗口和弹出窗口中都已经大量使用。现在客户提出上一次的人员选择结果要保存下来,以便下一次作为默认选项(不能存在临时变量中,客户要求重起客户端后仍然能使用上一次的默认值)。所以只能修改该人员选择控件。问题是:如果在弹出窗口中调用上述的两个函数保存数据(调用的js代码可以由人员选择控件自动写到窗口中),在主窗口onunload时再保存数据的话,弹出窗口保存的数据就会消失。原因可能是因为两次保存使用的_userData不是同一个对象。所以现在需要在SetCookie和GetCookie中先判断当前窗口是否是弹出窗口,如果是则使用它的父窗口的_userData或在其父窗口中创建之。在window.showModalDialog中多传一个参数是可以的,但是这样就必须修改每一个模块的代码。 jqeury height()获取高度自适应div高度问题 iframe里如何使用父页的对象? 求救啊~关于<input type=text>输入框的问题 如何取得层中checkbox元素个数 正则表达式长度问题,在线等!谢谢 用Window.open打开的新窗口怎么取原来窗口的表单值??? 如何让弹出菜单显示在主页最上层 怎么样改变页面的autofocus? 急问:如何把iframe的滚动条设置为浏览器的滚动条 小白不懂 我得打开页面为什么,不能控制显示得位置? 用javascript如何分别定义input各个边框的属性?(每条边框10分)
-----------------------------------
模态窗口中alert(dialogArguments.document.body);
谢谢各位的帮助!我这里的具体情况是这样的:目前已经写好一个基于ASP.NET的B/S系统,客户端完全用js控制,有n多模块,js总共将近5万行。要在客户端保存用户的设置,我们使用behavior = "url(#default#userData);";的方法。封装了两个方法,如下:function SetCookie(sName, sValue)
{
var _userData = document.getElementById('_userData');
if (!_userData)
{
if (document && document.body)
{
_userData = document.createElement("span");
_userData.id = "_userData";
_userData.style.behavior = "url(#default#userData);";
document.body.appendChild(_userData);
_userData.load("_userData");
}
}
if (!_userData)
{
return;
}
_userData.setAttribute(sName,sValue);
_userData.save("_userData");
}function GetCookie(sName)
{
var _userData = document.getElementById('_userData');
if (!_userData)
{
if (document && document.body)
{
_userData = document.createElement("span");
_userData.id = "_userData";
_userData.style.behavior = "url(#default#userData);";
document.body.appendChild(_userData);
_userData.load("_userData");
}
}
if (!_userData)
{
return "";
}
var sValue = _userData.getAttribute(sName);
return !!sValue ? sValue : "";
}还做了一个人员选择控件,在主窗口和弹出窗口中都已经大量使用。现在客户提出上一次的人员选择结果要保存下来,以便下一次作为默认选项(不能存在临时变量中,客户要求重起客户端后仍然能使用上一次的默认值)。所以只能修改该人员选择控件。问题是:如果在弹出窗口中调用上述的两个函数保存数据(调用的js代码可以由人员选择控件自动写到窗口中),在主窗口onunload时再保存数据的话,弹出窗口保存的数据就会消失。原因可能是因为两次保存使用的_userData不是同一个对象。所以现在需要在SetCookie和GetCookie中先判断当前窗口是否是弹出窗口,如果是则使用它的父窗口的_userData或在其父窗口中创建之。在window.showModalDialog中多传一个参数是可以的,但是这样就必须修改每一个模块的代码。