JavaScript 追記 3ダメやん、arguments.callee.caller.caller.callerで辿れる。あと、変数とかを渡すのも大変か。やっぱりGreasemonkeyスクリプトとも連携取れないからだめだよな。 追記 2あきらめかけたけど、こんなんどや。 safeCall(function(){ evil(); }) function safeCall(f){ delete unsafeWindow.GM_safeCall; window.location.href = "javascript:function GM_safeCall(f){eval('('+f.toString()+')()')}"; unsafeWindow.GM_safeCall(f) } テストコードは以下。 返り値は、値を置いて、すりかえられないようにすぐに取るかんじになるかなー。 こんなこ