安装我的应用程序后,我创建了一个脚本标记(通过shopify API)。我只对在产品视图页面上运行此脚本感兴趣。什么是检查脚本是否由产品视图页面运行的可靠方法?我应该要求商家手动将某些东西放入液体文件中吗?
答案 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托管以来,商店很难搞乱网址结构。