Web サイトには次のコードがあります。
var Items = {
drop: function (a, b, d) {
if (!(typeof a == "undefined" || typeof sockets[a.id] == "undefined")) {
SSocket.send(sockets[a.id], {
action: "item_drop",
data: {
id: d
}
});
Inventory.add(a, d)
}
},
give_to_player: function (a, b) {
Items.drop(a, void 0, b)
},
take_from_player: function (a, b) {
var d = clients[a];
Inventory.remove(d, b);
Player.send_inventory(d.id)
},
};
ユーザースクリプトを使用して、give_to_player プロパティを独自の関数に置き換えようとしています。しかし、そうするのは運が悪いです。私は JavaScript インジェクションと変数スコープに精通しています。
私は次のことを試しました:
Object.defineProperty(window.Item, 'give_to_player', {
value:
function(a,b){
console.log('Change occured');
}
});
これによりエラーは発生しませんが、変更は反映されず、コンソールは空のままです。Object.defineProperties も試してみましたが、うまくいきませんでした。
最後に、次のコードは結果を生成できませんでした:
window.Item.give_to_player = function(a,b){ console.log('Change occured');};
誰か提案はありますか?
Chrome を使用してユーザー スクリプトを実行しています。