У меня есть следующий код, чтобы открыть всплывающие окна, проблема в том, что он открывается как новое полноэкранное окно, а не всплывающее окно, и я не понимаю, почему
dim url as string = "inserimento.aspx?inserimento=" & tipoInserimento
If Context.Request.Browser.IsMobileDevice Then
target = "_self"
Else
target = "popup_window"
End If
ClientScript.RegisterStartupScript(Me.GetType(), "popup", "popup('" + url + "','" & target & "','width=500,height=750,left=100,top=0,status=no, menubar=no, toolbar=no,resizable=no');", True)
Функция javascript, которую я использую, чтобы получить функцию всплывающего блока браузера:
<script type="text/javascript">
function popup(urlToOpen) {
var popup_window = window.open(urlToOpen);
try {
popup_window.focus();
}
catch (e) {
alert("Pop-up Blocker is enabled! Please add this site to your exception list.");
}
}
</script>
Спасибо за помощь
Вы вызываете popup()
со всеми 3 параметрами, но вы не включили их, когда вы на самом деле вызываете window.open()
. Измените свой скрипт, чтобы включить эти параметры в подпись функции и вызов внутри функции...
function popup(urlToOpen, target, params) {
var popup_window = window.open(urlToOpen, target, params);
try {
popup_window.focus();
}
catch (e) {
alert("Pop-up Blocker is enabled! Please add this site to your exception list.");
}
}
Хотя это решит вашу непосредственную проблему, я настоятельно рекомендую вам посмотреть на какой-то модальный диалог, так как всплывающие окна нахмурены большинством пользователей и по умолчанию блокируются в большинстве браузеров.
Существует множество сторонних примеров, и их тоже сложно создать с нуля. Посмотрите здесь несколько примеров, используя Bootstrap...