我有使用“通用”模式的 Nuxt.js 应用程序。
我的任务是将 Yandex-metrika(类似于 Google 分析)插入到我的 Nuxt.js 应用程序中。
我有三个问题:
- 应该在每个页面上使用脚本
- 脚本只能在生产环境中使用
- 脚本应仅用于特定域,例如:
domain.com
我尝试使用 app.html 来包含我的脚本。
下面的解决方案解决了前两个问题,但最后一个问题仍然存在:如何知道当前的 url?
我无法从 Nuxt.js 模板语法访问 window
,window.location.host
可以轻松解决我的问题。
app.html
{% if (process.env.NODE_ENV === 'production') { %}
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
// script execution
</script>
<noscript>
<div>
<img src="https://mc.yandex.ru/watch/00000000" style="position:absolute; left:-9999px;" alt="" />
</div>
</noscript>
<!-- /Yandex.Metrika counter -->
{% } %}
我可以将条件语句添加到我的 <script>
中,例如
if (window.location.host === 'domain.com')
但是如何处理 <noscript>
呢?如何有条件地隐藏它?
我也考虑将 alalytics 脚本放入插件中,但是这个解决方案有一些附带问题 - 分析效果不佳。