Установите Фокус на всплывающее окно из C # (или JS) - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь получить всплывающее окно, чтобы сфокусироваться, я попробовал window.open().focus(); но он продолжает меняться в фоновом режиме, поэтому я пытаюсь в своем коде закрыть окно и открыть его снова.

string url = "Report.aspx";
string s = "window.open('" + url + "', 'popup_window456789123', 'width=650,height=500,left=100,top=100,resizable=yes,scrollbars=yes')";

string t = "window.close()";
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", t, true);

ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);

Может кто-нибудь сказать мне, почему это не работает?

Я попробовал это в Jquery, но это тоже не сработало:

<script type="text/javascript">
    $(document).ready(function () {
        alert("test");
        window.focus();
    });
</script>

Flow:

  1. Главная страница: нажмите кнопку1 ► открывает всплывающее окно1
  2. всплывающее окно находится в фокусе и показывает данные
  3. главная страница (получает фокус): нажмите кнопку2 ► открывает то же всплывающее окно1
  4. всплывающее окно изменяет данные (но не фокусируется) Это проблема

1 Ответ

1 голос
/ 05 июня 2019

Хорошо, я сделал скрипку, которая показывает, что вы должны иметь. View Fiddle

Если я щелкаю одно окно и нажимаю на другое, оно возвращается (перезагружается) и фокусируется.

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

      <script> function openwin(url) {
      window.open(url, 'popup_window456789123','width=650,height=500,left=100,top=100,resizable=yes,scrollbars=yes ')
    }
</script>

    <button onclick="openwin('https://www.webpagetest.org/')">
Button1
</button>
<button onclick="openwin('https://www.webpagetest.org/')">
Button2
</button>
...