使用ScriptInjector
注入脚本以注入特定div的方法是什么,例如:
我想在特定div中注入一个src='http://ads.qadservice.com/t?id=123'
的脚本(例如top-ads-large
)。原因是能够在GWT EntryPoint onModuleLoad()
的底部注入,以便它不会阻止GWT应用程序加载。
<script type="text/javascript" language="javascript" src="app/app.nocache.js"></script>
<body>
<div id="top-ads-placeholder" class="uk-hidden-small uk-hidden">
<div id="top-ads-small" class="uk-hidden-small">
<script type='text/javascript' src='http://ads.qadservice.com/t?id=123'></script>
</div>
<div id="top-ads-large" class="uk-hidden-medium uk-hidden-large uk-container-center uk-width-1-1">
<script type='text/javascript' src='http://ads.qadservice.com/t?id=123'></script>
</div>
</div>
</div>
</body
答案 0 :(得分:1)
ScriptInjector
类旨在附加到给定window
对象的头部(通常选择顶部窗口,但您可以配置它)。这是不可配置的,因为定制它不会实现任何有意义的事情。
这样它就不会阻止GWT应用加载。
这没有任何意义。该应用已已加载,因此其选择加载的脚本无法阻止其加载。如果GWT app 尚未加载,则您无法使用ScriptInjector
或任何其他java / js类。
如果您的广告脚本假设该页面尚未完成加载(可能是因为它想要执行document.write
),那么ScriptInjector为时已晚,无法运行它 - 在下载文档并运行所有JS之后onModuleLoad
或更高版本。在这种情况下,你必须真正使这个脚本在html页面本身(具有讽刺意味的是,它会阻止GWT应用程序运行......)。