gpt4 book ai didi

javascript - GWT:我可以在 html 页面中包含 js 还是需要 `ScriptInjector` ?

转载 作者:行者123 更新时间:2023-12-03 11:12:49 24 4
gpt4 key购买 nike

我正在向我的 GWT 页面添加一个 html 文件,如下所示:

HTML htmlPanel = new HTML();
String html = MyHtml.INSTANCE.getHtml().getText();
htmlPanel.setHTML(html);
RootPanel.get().add(htmlPanel);

这有效...但嵌入的脚本文件不运行。我在 Chrome 的“元素”选项卡中看到应加载脚本的行,但显然并非如此(“脚本”选项卡中未显示,并且 debugger 行未命中)。

作为测试,我将 html 文件直接加载到浏览器中(不是通过 GWT),并且脚本确实显示在“脚本”选项卡中并且确实运行了代码(因此这不是脚本标记本身的问题) .

那么...为什么/如何在 GWT 嵌入时不运行脚本? (如果我尝试的话,我不知道如何阻止嵌入式脚本运行!);o)

我是否必须使用 ScriptInjector 才能完成这项工作(我在工作方面遇到了自己的问题,这是另一个线程的主题)?如果是这样...为什么?

感谢您的帮助!

最佳答案

通过将脚本添加到 HTML 小部件并将其附加到页面来创建脚本将不起作用,浏览器不支持此操作。 GWT 没有这样做,而是浏览器在这样做,或者更确切地说,浏览器正在这样做,因为 HTML 小部件的工作方式。有关为什么会出现这种情况的具体信息,请参阅 https://stackoverflow.com/a/13392818/860630 上的精彩答案。深入细节。

还有其他几种方法可以做到这一点,但它们都归结为 ScriptInjector 已经在做的工作 - 如果 ScriptInjector 不适合你,那么其他方法似乎不太可能选项将表现出任一行为。也许编辑您的问题以使用 ScriptInjector 并描述您的问题,或者用它提出一个新问题?我见过 ScriptInjector 不起作用的唯一情况与 $wnd 相关,或者脚本附加到哪个页面(请参阅 com.google.gwt. core.client.ScriptInjector#TOP_WINDOW)。

关于javascript - GWT:我可以在 html 页面中包含 js 还是需要 `ScriptInjector` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27488714/

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