当我的应用程序安装后,我通过Shopify API创建一个脚本标签。我只对在产品展示页面上运行此脚本感兴趣。有没有可靠的方法可以检查脚本是否由产品展示页面运行?我应该要求商家手动在他们的Liquid文件中添加一些内容吗?
当我的应用程序安装后,我通过Shopify API创建一个脚本标签。我只对在产品展示页面上运行此脚本感兴趣。有没有可靠的方法可以检查脚本是否由产品展示页面运行?我应该要求商家手动在他们的Liquid文件中添加一些内容吗?
这应该可以在你的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];
}
jQuery("form[action='/cart/add']").each(function() {
console.log("I'm in ur product page");
});
您可以传递一个额外的函数参数,指定函数从哪里调用。我在几个项目中使用了这种编程方式,并取得了巨大的成功。例如:
function foo(data, moarData, caller) {
if(caller != 'productPage') { return false; }
...
}
而且您可以在产品视图页面上从函数调用中指定调用方变量:
var page = 'productPage';
foo('sharks', 'games', this.page);
var product = {{product | json }};
var id = product.id
- David Lazar