2013-10-08 307 views
0

我有一个页面上有一个iFrame。 在框架中的页面上,我有一个按钮。打开一个页面到新窗口/从iframe的标签

我想要的是,如果用户单击按钮,另一个页面会在它自己的新窗口或选项卡中打开。这个功能是向用户显示一个打印友好的页面。

我该怎么做?

这是怎么了我现在就来试试吧:

Dim sb2 As New StringBuilder 
sb2.Append("window.open('") 
sb2.Append(sb.ToString) 
sb2.Append("','NewPFWindow','menubar=1,toolbar=1,scrollbars=1,resizable=1,sandbox=""allow-same-origin allow-forms""')") 

ClientScript.RegisterClientScriptBlock(Me.GetType, "si2", sb2.ToString, True) 

某人持有的页面,如“mypage.aspx”

另一种选择是调整的iFrame所以整个页面将适合。这是可能的代码隐藏?

rg。 埃里克

回答

0

找到它。

显然,Chrome使用了未公开的功能。

是试图把新页面在自己的窗口或标签的框架,需要在一个名为沙箱属性多了一种选择“允许-弹出”。

这不是记录的w3schools.com网站上。

所以加入这个沙箱属性,让浏览器中创建新的窗口/标签。

+1

[请不要链接到或使用w3schools。这是一个很糟糕的参考,充满了不正确的信息,有时甚至会导致安全漏洞。](http:// w3fools。com) – ThiefMaster

+0

由于我不想完全重写你的问题和答案,这个问题一般适用于HTML而不适用于ASP.net;我在这里创建了一个新的问答:http://stackoverflow.com/a/21236617/900747 @ThiefMaster,绝对是+1。虽然我仍然使用它们来检查各种新的HTML5功能的语法,因为它们每次都在Google中名列前茅。 –

0

只需提供一个target尚未命名您的网站上还没有,大多数人会用_blank

<a href="desiredLocationUrl...." target="_blank"> link text </a> 

,或者如果你想绑的是另一个点击事件别处:

window.open('desiredLocationUrl....', "_blank"); 

顺便说一句。这个链接是否在iframe内并不重要;)

+0

添加的代码来创建页面。 – Eric

+0

@Eric你的代码似乎就在这里需要什么,发生了什么如果你现在点击按钮?有什么?没有?我认为它实际上应该是正确的代码,也许是tr y用'_blank''切换''NewPFWindow'' – DrCopyPaste

+0

嗨,当我点击按钮时,没有任何反应。我认为弹出式窗口拦截器阻止了它。并且由于浏览器不显示警告,因此您可以将网站添加到允许使用弹出窗口的网站列表中。也许这是因为我在调试模式下观看VS中的站点。 – Eric

相关问题