我需要在body中放置一个script-tag,因为javascript在head标签中不起作用.
从Wicket 1.5开始,不再支持以下代码:
add(new JavaScriptReference("wz_tooltip", new JavaScriptResourceReference(BaseTemplate.class, "wz_tooltip.js")));
Run Code Online (Sandbox Code Playgroud)
这是因为该类JavaScriptReference不再存在.
我显然不能使用新renderHead方法.
到目前为止我的解决方法:
WebMarkupContainer script = new WebMarkupContainer("script");
script.add(new AttributeAppender("type", Model.of("text/javascript")));
script.add(new AttributeAppender("src", Model.of("wz_tooltip.js")));
add(script);
Run Code Online (Sandbox Code Playgroud)
真的很丑,除了它不起作用; 找不到javascript文件.
有没有其他解决方法或"正确"的方法来做到这一点?
您是否尝试过使用带有资源引用的urlFor?就像是..
script.add(new AttributeAppender("src", urlFor(new JavaScriptResourceReference(BaseTemplate.class, "wz_tooltip.js"), null).toString()));
Run Code Online (Sandbox Code Playgroud)
由于Wicket的复杂资源管理,我不希望您当前的方法能够开箱即用.此外,虽然可能有其他"正确"的方法来做事,但我经常发现第三方javascript对于放置很挑剔,我仍然需要依靠这种方法来处理某些脚本.
例如,我使用的一个脚本必须是页面上的最后一个元素.
| 归档时间: |
|
| 查看次数: |
2095 次 |
| 最近记录: |