5

安装我的应用程序后,我创建了一个脚本标签(通过 shopify API)。我只对在产品视图页面上运行此脚本感兴趣。检查脚本是否由产品视图页面运行的可靠方法是什么?我应该要求商家手动将一些东西放入他们的液体文件吗?

4

4 回答 4

4

这应该在您的JavaScript 中起作用:

// If we are on a product page
if (window.location.pathname.indexOf('/products/') !== -1) {
 // What's the product handle?
 var productHandle = pathname.match(/\/products\/([a-z0-9\-]+)/)[1];
}
于 2012-10-10T03:55:21.313 回答
0

您可以传递一个额外的函数参数,指定从何处调用函数。我在一些项目中使用了这种编程并取得了巨大的成功。例如:

function foo(data, moarData, caller) {
  if(caller != 'productPage') { return false; }
  ...
}

您可以从产品视图页面上的函数调用中指定调用者变量:

var page = 'productPage';
foo('sharks', 'games', this.page);
于 2012-09-27T02:51:08.253 回答
0

Shopify 中的产品页面上始终有一个将产品添加到购物车的表单,因此您可以执行以下操作(假设 jQuery 可用):

jQuery("form[action='/cart/add']").each(function() {
  console.log("I'm in ur product page");
});
于 2012-09-27T13:39:57.350 回答
0

编写一些通用的 Javascript 来查询浏览器中的当前 URL。您可以轻松判断您是在页面、产品还是集合上。尝试一个简单的正则表达式来做到这一点。由于 Shopify 是托管的,因此商店很难弄乱 URL 结构。

于 2012-09-27T14:31:29.813 回答