IMG タグの「src」属性で読み取り/書き込み操作をキャプチャしようとしています。その目的のために、私は HTMLImageElement オブジェクトで getOwnPropertyDescriptor & defineProperty 関数を使用しようとしていました (img ごとに定義することを避けたいため) getOwnPropertyDescriptor に関して私が見たもの:
var proto = Object.getPrototypeOf(HTMLImageElement);
var own = Object.getOwnPropertyDescriptor(proto, "src");
// own is undefined in IE10/FF8/Chrome15
上記の proto 要素の defineProperty に関して、getter/setter 関数は Chrome でのみ実行されることがわかりましたが、期待したときに実行されず、getter 関数内の「this」が DOM ウィンドウのプロトタイプであることがわかりました。このための私のテスト コードは http://jsfiddle.net/yoav/tUekJ/にあります。
この場合、getOwnPropertyDescriptor は機能しますか? JS が "src" 属性にアクセスしたときに getter/setter 関数がトリガーされることを期待する必要がありますか?
ありがとう!