如何确定我的脚本运行的页面

时间:2012-09-27 02:45:59

标签: javascript shopify

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

4 个答案:

答案 0 :(得分:2)

这应该可以在你的 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];
}

答案 1 :(得分:0)

您可以传递一个额外的函数参数,指定调用函数的位置。我在一些项目中使用过这种编程非常成功。例如:

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

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

var page = 'productPage';
foo('sharks', 'games', this.page);

答案 2 :(得分:0)

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

jQuery("form[action='/cart/add']").each(function() {
  console.log("I'm in ur product page");
});

答案 3 :(得分:0)

编写一些通用的Javascript来查询浏览器中的当前URL。您可以轻松判断您是在网页,产品还是收藏中。尝试使用简单的RegExp来执行此操作。自Shopify托管以来,商店很难搞乱网址结构。