gpt4 book ai didi

google-app-maker - 打印友好页面

转载 作者:行者123 更新时间:2023-12-04 05:41:13 27 4
gpt4 key购买 nike

所以我希望能够为我们数据库中的条目设置一个打印按钮,以便用户可以通过打印友好的“表单”打印条目。

我的想法是创建一个单独的页面,添加标签并让这些标签提取相关信息。

我知道我可以通过这段代码添加打开的小部件信息:

app.datasources.ModelName.selectKey(widget.datasource.item._key);
app.showPage(app.pages.TestPrint);

但是我遇到了一些问题:

  1. 我无法让页面在新窗口中打开。这可能吗?

    window.open(app.pages.TestPrint);

只是给我一个空白页。一旦新窗口打开,浏览器是否会丢失小部件源?

  1. 我无法获取打印选项(onClick 或 onDataLoad)以仅打印图像(或小部件)。我跑

    window.print();

它包括标题+滚动条。我是否需要改为运行客户端脚本?

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

要准确获得您想要的东西,您必须做很多工作。

这是我建议的更简单的答案:

不要打开新标签页。如果您像您提到的那样使用 showPage,并在页面上提供一个“后退”按钮以返回到您所在的位置,您将获得几乎所有您需要的东西。如果您不想在打印时显示背面,则可以在打印前在按钮上设置 Visibility(false),然后打印,然后设置 Visibility(true)。


我将简要介绍如何使用新选项卡执行此操作,但它非常复杂,所以我无法在不亲自尝试的情况下详细介绍。基本思想是,您想要打开带有完整 URL 的页面,就像用户导航到它一样。

您可以使用#TestPrint 指示要加载的页面。您还需要应用程序的 URL,据我所知,它只能在使用 Apps 脚本方法的服务器端脚本中使用:ScriptApp.getService().getUrl()。最重要的是,您可能需要传入 key ,以便您的页面知道要加载哪些数据。

鉴于此,您需要通过调用服务器脚本来组装一个 url,然后将 key 属性附加到它。最后你想要一个像这样的网址:

https://www.script.google.com/yourappaddress#TestPage?key=keyOfYourModel .

然后在 TestPage 上,您需要读取 key ,并为该 key 加载数据。 (您可以使用 google.script.url 读取 key )。


或者,我认为您可以通过打开一个空白窗口然后直接写入其 DOM 来玩一些技巧,但我从未尝试过,而且由于 Apps 脚本在 iframe 中运行,我不确定它是否是可能的。如果有机会,我会尝试并更新此答案,但为了您自己的引用,您可以在此处查看:create html page and print to new tab in javascript

我在想象类似的东西,除了你的页面是写它的 html 内容。像这样的东西:

var winPrint = window.open('', '_blank', 'left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0');
winPrint.document.write(app.pages.TestPage.getElement().innerHTML);
winPrint.document.close();
winPrint.focus();
winPrint.print();
winPrint.close();

希望这三个选项中的一个对您有所帮助:)

关于google-app-maker - 打印友好页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41944876/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com