将Google Adwords脚本添加到Vaadin应用程序中
Adding Google Adwords script into Vaadin Application
我收到了一个脚本片段,可以将其添加到我们的Vaadin应用程序中,在完成订单后重定向到特定的单个页面:
<script type="text/javascript">
var google_conversion_id = XYZ;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "XXXYYYZZZ";
var google_conversion_value = 1.00;
var google_conversion_currency = "EUR";
var google_remarketing_only = false;
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/XYZ/?value=1.00&currency_code=EUR&label=XXXYYYZZZ&guid=ON&script=0"/>
</div>
</noscript>
现在,我要处理的问题是,在使用Vaadin时,我无法将该片段直接放在页面上。
- 我尝试了Vaadin的
Label
和ContentMode.HTML
来添加这个代码块,但它根本没有添加到我的Layout
或Component
中 CustomLayout
和一个以该代码为模板的特殊HTML页面正在过滤掉<script>
部分
还有其他解决方案吗?我可以在应用程序中包含这些代码吗?
使用Vaadin的JavaScriptComponent
功能。
State类:您可以将变量从服务器端传递到javascript组件。
public class MyComponentState extends JavaScriptComponentState {
public String google_conversion_id = "XYZ";
public String google_conversion_language = "en";
public String google_conversion_format = "3";
public String google_conversion_color = "ffffff";
public String google_conversion_label = "XXXYYYZZZ";
public double google_conversion_value = 1.00;
public String google_conversion_currency = "EUR";
public boolean google_remarketing_only = false;
}
和
@JavaScript({"mycomponent-connector.js"})
public class MyComponent extends AbstractJavaScriptComponent {
@Override
protected MyComponentState getState() {
return (MyComponentState) super.getState();
}
}
您可以在@JavaScript
注释中包含多个js文件,如:
@JavaScript({"https://www.googleadservices.com/pagead/conversion.js", "mycomponent-connector.js"})
它将按顺序加载这些文件。
在同一个包上创建mycomponent-connector.js
(如果使用maven,请使用resources文件夹),并在init函数中填充组件的根:
window.com_mypackage_MyComponent =
function() {
// this is your html component to fill
var myelement = this.getElement();
// get state variables
var myvar = this.getState().google_conversion_label;
// call some library method to fill it
};
请参阅https://vaadin.com/docs/-/part/framework/gwt/gwt-javascript.html和https://vaadin.com/blog/-/blogs/vaadin-7-loves-javascript-components了解更多信息。
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- angular 1.5应用程序中的导航栏
- 在Web应用程序中使用Highcharts javascript
- angularjs+rails应用程序中未显示模板
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 在phonegap应用程序内部重定向不起作用
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- Node.js正在更改应用程序以使用集群模块
- 使用jquery调用vaadin应用程序表单php
- 将Google Adwords脚本添加到Vaadin应用程序中
- 如何将 d3 (javascript) 添加到 vaadin 应用程序