|
14
|
| Mike Hofer · 技术社区 · 15 年前 |
|
|
1
11
虽然我的答案不直接适用于这个特定的问题,如果你得到这个错误( 被呼叫方(服务器[非服务器应用程序])不可用并消失; )在弹出窗口和打开器窗口之间进行通信时,这是因为弹出窗口创建了一个对象,然后将其传递给了打开器窗口。当弹出窗口关闭时,Internet Explorer将杀死弹出窗口创建的所有对象。而且由于对象是通过引用传递的,所以Opener窗口引用的对象现在已经不存在了。一个简单的解决方法是通过使用json.stringify将对象转换为JSON字符串来传递值。然后可以使用json.parse()将字符串转换回window.opener中的对象。 例子: 弹出窗口:
打开窗口:
使用这种方法,打开器窗口不再引用在弹出窗口中创建的对象,因此关闭弹出窗口后,打开器窗口中的对象将继续存在。 |
|
2
6
我应该早点更新这个问题,对此延误我深表歉意。自从我贴了以后,我学到了一些东西,这就是我学到的。 对于使用window.showModalDialog打开的窗口,window.opener方法返回空值,而不是对打开窗口的引用。要获取对打开窗口的引用,必须将其作为对话参数传递。 目前我还不清楚这是否是有意的行为;这显然是无证行为。此外,根据msdn,window.opener只对加载到frames和iframes中的页面有效。 |
|
|
3
2
在以下场景中,我收到了完全相同的错误消息: 窗口A弹出wind b,用户搜索某物,wind b调用wind a传递某个参数。 方法对wind a进行调用,假定在popup wind b完成其正在执行的操作后关闭它。 我将参数作为对象传递: P=A:1,B:“C” 在我重写代码分别传递每个参数后,错误就消失了。 校准方法(1,“c”); 希望能帮助别人… |
|
|
4
0
您可以在Excel中获取此错误
这里frmparm是一个模块级变量。 单击“确定”按钮,我打算.hide()表单,这样用户的选择就很粘了。 如果用户单击控制框X并关闭窗体,那么实际上frmparm指向的是不再存在的内容。 我找不到测试条件的方法,我会捕获错误,将表单设置为Nothing,然后重试。 我意识到这并不是所要问的问题,但这是一个在帖子中多次提到的有关excel问题的具体例子。 |
|
Error 1004 · 使用VBA从HTML中提取信息 7 年前 |
|
|
myroslav · IE11中Angular 4应用程序崩溃 7 年前 |
|
|
sankar · IE不显示abbr标记的边框底部 7 年前 |