私は現在、主にJQueryを使用してChrome拡張機能を作成し、マニフェストファイル以外のすべての機能を実行しています。私は、store.nike.com のカートに製品を追加するアクティブな拡張機能を作成して、何ができるかを確認することにしました。
私は長い道のりを歩んできましたが、ほとんどの場合、実際の'add to cart'
機能以外はすべて機能しています。
使い方:
人は 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 のクロム ストレージを実行し、適切な靴サイズのサイト リストをフィルター処理します。selectBox-selected
見つかった (または true が返された) と、関連付けられた靴のサイズをクリックしたかのようにクラスが与えられます。彼らから、 を含む div に表示しますSize
。最後に、 でクリック イベントを実行しますadd to cart
。
残念ながら、そのようには機能しません。エラーが発生します"Select a Size"
。他にも何かが起きていて、誰かがこれが何であるかについての洞察を与えてくれるか、正しい方向に向けてくれることを望んでいました.
これは単なる教育実験です。