2013-10-08 6 views
0

У меня есть страница с iFrame на ней. На странице в рамке у меня есть кнопка.Открыть страницу в новом окне/tab from 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 использует недокументированную функцию.

Кадр, который пытается поставить новую страницу в своем собственном окне или вкладке, требуется дополнительный параметр в свойстве песочнице под названием «Allow-всплывающего окна.

Это не документировано на w3schools.com сайте.

Так, добавив в собственность песочнице, вы позволяете браузер, чтобы создать новое окно/вкладку.

+1

[Пожалуйста, не связывайтесь с w3schools и не используйте их. Это дерьмовая ссылка, полная неправильной информации, которая иногда даже приводит к дырам в безопасности.] (Http: // w3fools.com) – ThiefMaster

+0

Поскольку я не хотел полностью переписывать ваш вопрос и отвечать, и эта проблема относится к HTML вообще, а не ASP.net; Я создал новый Q & A здесь: 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"); 

Btw. не имеет значения, находится ли эта ссылка внутри iframe;)

+0

Добавлен код для создания страницы. – Eric

+0

@Eric ваш код, кажется, что было бы необходимо здесь, что происходит если вы нажмете кнопку сейчас? Что-нибудь? Ничего? Я думаю, что на самом деле это должен быть правильный код, возможно, tr y переключение '' NewPFWindow'' с '' _blank'' – DrCopyPaste

+0

Привет, Когда я нажимаю на кнопку, ничего не происходит. Я думаю, что блокировщик всплывающих окон блокирует его. А поскольку браузер не отображает предупреждение и позволяет добавить сайт в список сайтов, которым разрешено использовать всплывающие окна. Возможно, это потому, что я смотрю сайт в VS в режиме отладки. – Eric

Смежные вопросы