次のグリースモンキー スクリプトを作成して、Steam の年齢チェック ページを自動的にスキップできるようにしました。
// ==UserScript==
// ...
// @include http://store.steampowered.com/agecheck/*
// ==/UserScript==
//Mini script for doing steam age checks automatically
if( document.URL.indexOf('agecheck') > -1 )
{
var form = document.getElementById('agegate_box').getElementsByTagName('form')[0];
form.ageDay.value = 18;
form.ageMonth.value = 'August';
form.ageYear.value = 1987;
form.submit();
}
このようなページの例: http://store.steampowered.com/agecheck/app/16730/ . store.steampowered.com
「生年月日」Cookie が設定されている場合、このページは自動的にゲームにスキップすることに注意してください。そのため、最初に削除する必要がある場合があります。
Windows XP で動作する Firefox 17.0 (ベータ) にこのグリースモンキー スクリプトをインストールすると、正常に動作します。
次に、最新の FF (16) を実行している Windows 7 マシンにスクリプトをインストールしました。このマシンでは、form.ageDay にアクセスするとスクリプトが壊れます。エラー コンソールには次のように表示されます。
Error: form.ageDay is undefined
さらに奇妙なことに、単にスクリプトを Firefox Scratchpad (Shift+F4) に貼り付けて実行すると、検索が機能し、フォームが送信されます。
XP では GM スクリプトが機能し、Win7 ではスクリプトがスクラッチパッドで機能するのに、Win7 ではスクリプトが GM で機能しないというのはどうしてでしょうか?
さらに別の奇妙な点は、Win7 マシンで Firebug をアクティブにすると、var form
明らかに「ageDay」プロパティがあるのに、ウォッチ式が undefined を返すことです。