如何给页面一个url?

How to give a url to the page?

我正在尝试使用以下代码打开一个新的 window。它打开一个新的 window,但它有 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!");
    }
}-*/;

为空,因为window.open方法的第一个参数是空字符串。检查一些示例 here。所以它应该是这样的:

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

从您的代码中我看到您想要通过自定义 URL 打开一个新的 window,其中包含一些 HTML 内容。你不能这样做。如果你放一些 URL,浏览器会尝试通过 GET request.

打开这个 URL

您想要实现的解决方案是 more-or-less MVC way(请注意它不是完全正确的 MVC 解决方案,只是一个指导):

  1. 在打开 window 之前,您需要将 content 存储在某处(最好的选择是在服务器端,但也有一种方法可以将其存储在客户端)
  2. 创建一个新页面,可通过您的自定义 URL 访问(简单 HTML 或服务,取决于您的需要)。
  3. 您需要在这个新页面中编写一些代码来检索您的 content(之前存储在某处)并将其显示在这个新打开的 window.