Как дать URL на страницу? - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь открыть новое окно с кодом ниже. Он открывает новое окно, но у него есть URL-адрес "about: blank". Как изменить этот URL и дать собственный URL.

private native void openPrintWindow(String contents) /*-{
    var printWindow = window.open("", "PrintWin", false);
    printWindow.document.open("text/html","replace");
    if (printWindow && printWindow.top) {
        printWindow.document.write(contents);

    } else {
        alert("The print feature works by opening a popup window, but our popup window was blocked by your browser.  If you can disable the blocker temporarily, you'll be able to print here.  Sorry!");
    }
}-*/;

1 Ответ

0 голосов
/ 08 мая 2019

Пусто, потому что первый параметр метода window.open - пустая строка.Посмотрите некоторые примеры здесь .Так что должно быть что-то вроде этого:

window.open("https://stackoverflow.com", "PrintWin", false);

Из вашего кода я вижу, что вы хотите открыть новое окно по пользовательскому URL-адресу с некоторым содержанием HTML внутри.Так нельзя.Если вы введете какой-то URL, браузер попытается открыть этот URL, сделав запрос GET .

. Решение, которое вы хотите достичь, - сделать это более или менее MVC way (обратите внимание, что это НЕ полностью правильное решение MVC, просто руководство):

  1. Перед тем, как открыть окно, вам нужно где-то хранить content (лучше всего)опция на стороне сервера, но есть и способ сохранить ее на стороне клиента)
  2. Создать новую страницу, доступную через Ваш пользовательский URL (простой HTML или сервис, в соответствии с Вашими потребностями)).
  3. Вам нужно написать какой-нибудь код на этой новой странице, который будет извлекать Ваш content (ранее сохраненный где-то) и представлять его в этом недавно открытом окне.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...