是否可以从main.js访问视图中声明的js变量
Is it possible to access js variables declared in your view from main.js?
我的应用程序布局中有一些谷歌分析代码:
<%=javascript do %>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '111111', 'xxxx.com');
ga('send', 'pageview');
<%end%>
<%=javascript do %>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '1111111']);
_gaq.push(['_setDomainName', 'xxxx.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
<%end%>
我需要能够访问main.js中的"_gaq"变量,以便在单击某个类时用于事件跟踪。由于一些复杂性,我试图避免在这里使用内联点击处理程序。
这是非常可能的,下面是事件跟踪的文档:https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide
所以你可以这样做:
$('.yourClassName').on('click', function() {
_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']); //see google documentation for the paramters
});
或者内联,再次查看谷歌文档以了解详细信息:
<a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby''s First Birthday']);">Play</a>
我希望我准确地回答了你的问题。
您可以将_gaq
保存在window._gaq
中,然后它将可用于所有js文件。
相关文章:
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- 我们可以在初始化variable Angular JS时将变量值声明为未定义吗
- 理解bootstrap.js变量声明
- 在声明js之前,如何在js中使用HTML元素
- 如何调用Crossrider中声明的javascript函数;background.js”;点击我网站页面上的一个按钮
- 为什么JS类内部声明的变量是“未定义的”
- 声明一个js变量,该变量将被我的2个jsp访问
- 我们如何在Angular JS中使用$Scope变量而不声明
- 〔Fixed〕试图通过使用JS/Jquery声明来避免重复的CSS
- 在JS中用引号声明对象和数组是否更快
- 如何使用jQuerygetScript使用在不同JS文件中声明的函数
- Node.js上VAR的声明
- 在OPP JS中,您可以从构造函数访问原型函数内部声明的方法
- Ember.js车把如果,否则声明
- 即使在 JS 中声明后,继续的时间也已过
- 节点.js变量声明和作用域
- js-声明多维数组+push键和值
- 如何使用class.js声明一个静态变量
- 这个node.js声明代码是node.js的方式,还是可以通过使用更少的逗号和分解成更多的行来改进
- 如何使用JS声明全局变量