如何给页面添加网址?

时间:2019-05-08 07:29:57

标签: gwt

我正在尝试使用以下代码打开一个新窗口。它打开一个新窗口,但其URL为“ about:blank”。如何更改此网址并提供自定义网址。

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 :(得分:0)

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

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

从您的代码中,我看到您想通过其中包含一些HTML内容的自定义URL打开一个新窗口。您无法以这种方式这样做。如果您输入一些URL,浏览器将尝试通过输入GET request来打开此URL。

您想要实现的解决方案是或多或少地MVC way(请注意,这不是一个完全正确的MVC解决方案,只是一个指导):

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