我正在努力让 Google Analytics 使用 Laravel Jetstream 的 InertiaJS 堆栈正确报告。我需要跟踪单个页面的访问,但由于它是 SPA,我不确定如何处理。我已将标签放置在我的 app.blade 中,但这会显示所有流量,并非特定于每个页面,也无法触发事件。
将 GA 引入 Laravel Jetstream Inertia 堆栈的最佳方法是什么?
答案 0 :(得分:0)
我选择使用 Inertia::share 然后在我的 app.blade 上我引用了相应的元素,例如标题等作为道具。
例如。 RouteController(返回惯性视图):
Inertia::share([
'title' => $title,
'description' => $description,
'meta_image' => $meta_image,
'meta_url' => $meta_url
]);
return Inertia::render...
应用程序刀片:
<title>{{$page['props']['title'] ?? ''}}</title>
<meta name="description" content="{{$page['props']['description'] ?? ''}}">
...
最后在我的 AppLayout.vue 中,我监视了这些页面更改的道具:
watch: {
"$page.props.title"(newTitle) {
this.setPageData();
},
"$page.props.description"(newDescription) {
this.setPageData();
},
},
只需要观察标题,因为机器人应该加载每个页面新鲜(出于 SEO 目的),但这适用于元标记(开放图谱)和 GA 跟踪每个页面。