我目前刚刚开始主要使用 JQuery 来制作 Chrome 扩展来运行我除了清单文件之外的所有功能。我决定尝试制作一个主动扩展,将产品添加到 store.nike.com 的购物车中,看看我能完成什么。
我走了很长一段路,在大多数情况下,除了实际'add to cart'
功能之外,一切都在工作。
这个怎么运作:
Person 在我的 popup.html 中输入鞋码,一旦用户登陆耐克鞋的页面,它将获取本地存储的鞋码并放入一个提交给耐克网站表单的值。然后使用trigger('click')
事件,提交。这是问题,它告诉我"Select a Shoe Size"
一探究竟:
http://store.nike.com/us/en_us/pd/lunarglide-5-running-shoe/pid-726047/pgid-726952这是我正在测试的产品。
加载此页面时运行的后台脚本:
$(document).ready(function(){
checkForData();
$('.add-to-cart').trigger('click');
});
function checkForData()
{
$('ul.footwear li').removeClass("selectBox-selected");
chrome.storage.local.get('value', function (results) {
a[rel$="\:'+results.value+'"]').html());
$('ul.footwear').find('a').filter(function(idx, el){
return $.trim($(this).text()) == $.trim(results.value);
}).closest('li').addClass('selectBox-selected');
$("a.footwear span.selectBox-label").text("(" + results.value +")");
});
}
这是发生的事情:在ul.footwear
它删除默认值selectedBox-selected
- 如果默认鞋码是无的话。接下来,我运行本地 var 的 chrome 存储,并通过网站的鞋码列表过滤它以获取合适的鞋码。一旦找到(或返回真),它就会给它selectBox-selected
类,就好像有人点击了相关的鞋码一样。从他们我将它显示在包含Size
. 最后我在add to cart
.
不幸的是,它不会那样工作。我得到错误"Select a Size"
。有其他事情发生了,我希望有人能给我一些关于这可能是什么的见解,或者指出我正确的方向。
这只是一个教育实验。