关于弹出新窗口target=_blank的终极问题

amingo 2008-07-29 10:18:52
大家都知道通过var newWin = window.open(...)可以得到一个新窗口的句柄。

通过JS 能否得到由<a href='..' target='_blank'>XXX</a>弹出新窗口的句柄。
...全文
661 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
amingo 2008-07-30
  • 打赏
  • 举报
回复
9楼 和 14楼是我要的答案!
jhwcd 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lawrendc 的回复:]
引用 3 楼 amingo 的回复:
引用 2 楼 changke18 的回复:
<a href="javascript:window.open('')" target='_blank'>XXX </a>


请尊重自己的智慧!


霍~~~~ 看看这句话说的

谁还会回
[/Quote]
楼主说话太狂了!
lovewds2002 2008-07-29
  • 打赏
  • 举报
回复
LS不错
busymj 2008-07-29
  • 打赏
  • 举报
回复

试了一下,找了两个方法。

一种是在a链接中,加一个Onclick的方法,改用Window.Open,然后在结尾用return false,将A的转跳事件停掉。

第二种方法就是我上面说的,用子窗体来找父窗体的方式,不过要求你对子窗体中的内容也有控制权。

你在开放在子窗体中可以通过“opener”来找到父窗体。

然后你可以在父窗口中加一个方法,比如:

var newWin = null;
function setNewWin(p) {
newWin = p;
}

然后在子窗体中载入时运行以下语句就可以把子窗口句柄传回了:

opener.setNewWin(window);

strife013 2008-07-29
  • 打赏
  • 举报
回复
2楼的意思楼主没理解,通过js去打开一个页面就可以用楼主说的方法得到窗体对象值了
leosming 2008-07-29
  • 打赏
  • 举报
回复
看看
busymj 2008-07-29
  • 打赏
  • 举报
回复

<a href='..' target='test'>XXX </a>

目标窗体的名称就是“test”,但取到句柄我没有试过,一会测试一下看看。

你能简单说下具体的应用吗?用子窗体来找父窗体可以吗?
iscandy 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 amingo 的回复:]
请尊重自己的智慧!
[/Quote]

这话什么意思??? 2楼的,他骂你啊!
lawrendc 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 amingo 的回复:]
引用 2 楼 changke18 的回复:
<a href="javascript:window.open('')" target='_blank'>XXX </a>


请尊重自己的智慧!
[/Quote]

霍~~~~ 看看这句话说的

谁还会回
amingo 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 changke18 的回复:]
<a href="javascript:window.open('')" target='_blank'>XXX </a>
[/Quote]

请尊重自己的智慧!
西安风影 2008-07-29
  • 打赏
  • 举报
回复
<a href="javascript:window.open('')" target='_blank'>XXX</a>
orz_ORZ_orz 2008-07-29
  • 打赏
  • 举报
回复
mark
xiaojing7 2008-07-29
  • 打赏
  • 举报
回复
不懂,顶!
amingo 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 41417 的回复:]

这样的话,你能否先在新窗口中打开自己的页面,

用自己中转页取回子窗体句柄,然后再用JS语句把子窗体的HREF指向目标的页面?

[/Quote]

提供了一种思路,但我还得把链接传给中转,不太好!
amingo 2008-07-29
  • 打赏
  • 举报
回复
又来一位 window.open的。


大家可以认为我在做研究吧。
路人乙e 2008-07-29
  • 打赏
  • 举报
回复
但是我不太明白楼主的思想
为什么非得去获取 href 打开的新页面的句柄呢?

如果不是探讨“学问”的话,可以这样:
window.onload = function(){
var as = document.getElementsByTagName("A");
for(var i=0; i<as.length; i++){
if(as[i].target=="_blank"){
as[i].href = "javascript:openWindow('"+as[i].href+"');";
}
}
}
function openWindow(url){
//...
}
路人乙e 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 41417 的回复:]

试了一下,找了两个方法。

一种是在a链接中,加一个Onclick的方法,改用Window.Open,然后在结尾用return false,将A的转跳事件停掉。

第二种方法就是我上面说的,用子窗体来找父窗体的方式,不过要求你对子窗体中的内容也有控制权。

你在开放在子窗体中可以通过“opener”来找到父窗体。

然后你可以在父窗口中加一个方法,比如:

var newWin = null;
function setNewWin(p) {
newWin = p;
}

然后在子窗体…
[/Quote]
等于不说
MyTools_Studio 2008-07-29
  • 打赏
  • 举报
回复
考虑下用 HTC - 可惜只有IE支持
busymj 2008-07-29
  • 打赏
  • 举报
回复

这样的话,你能否先在新窗口中打开自己的页面,

用自己中转页取回子窗体句柄,然后再用JS语句把子窗体的HREF指向目标的页面?
ly8199 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jhwcd 的回复:]
引用 4 楼 lawrendc 的回复:
引用 3 楼 amingo 的回复:
引用 2 楼 changke18 的回复:
<a href="javascript:window.open('')" target='_blank'>XXX </a>


请尊重自己的智慧!


霍~~~~ 看看这句话说的

谁还会回

楼主说话太狂了!
[/Quote]
加载更多回复(1)

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧