【问题标题】:window.open(window.parent) possible?window.open(window.parent) 可能吗?
【发布时间】:2012-05-15 19:58:06
【问题描述】:

我有一个按钮,当用户单击该按钮时,会触发此代码...

window.open('','','width=640,height=480,resizeable,scrollbars');

打开一个新窗口。我想要显示的是新窗口中的当前页面,所以我尝试了..

window.open('window.parent.getElementById("printPage")','','width=640,height=480,resizeable,scrollbars');

但它只是说找不到文件:(

谁能告诉我我做错了什么,如果这是可能的,我该如何解决?

谢谢, J

【问题讨论】:

  • 您是否尝试过删除第一个参数周围的引号?

标签: javascript window.open window.parent


【解决方案1】:

window.location 应该给你当前的窗口位置,所以:

window.open(window.location);

【讨论】:

  • 当我尝试这样做时,它会不断地打开一个窗口,一个接一个又一个接一个地并且不会停止
  • 不是按键触发吗? IE。这应该在您的按钮 onclick 事件中。
【解决方案2】:

window.open() 需要一个 URI 作为第一个参数。将其留空(在您的第一个示例中)似乎默认为 about:blank,但您的第二个示例中的字符串 'window.parent.getElementById("printPage")' 实际上不是有效的 url。

如果要当前窗口的url,可以使用window.location

 window.open(window.location,'','width=640,height=480,resizeable,scrollbars');

您似乎试图从父框架中获取某些元素的 href 或 src 属性。您需要对其进行编码,不会评估一串代码。使用类似

 var url = window.parent.getElementById("printPage").src; // I'm guessing that
  // "printpage" is a (i)frame
 window.open(url, '','width=640,height=480,resizeable,scrollbars');

改为。

【讨论】:

  • 当我尝试这样做时,它会不断地打开一个窗口,一个接一个又一个接一个地并且不会停止
  • 那么你的按钮的点击监听器没有正确分配。您需要向我们展示您的所有代码。
  • 可以,但您需要执行它。或者你说它会引发错误?那么它会抛出什么错误呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-29
相关资源
最近更新 更多