を含む全ての要素に何かをくっつけるgreasemonkey

右に、Google Calendarを出しておき、
左に、Google Mapsを出す。
右の、Calendarの予定をクリックすると、左のMapsがスクロールしてその場所を示す。

ということをしたいのだがうまく行かない。
greasemonkeyで、タグに何かくっつけることはできるのだが、
(下のサンプルはまだ単なるメモで、タグを取捨選択せず、親もフレームも全てのアンカーを処理してしまういい加減なもの)


function do_insert_html(doc, type, element, html) {
var new_element = doc.createElement(type);
new_element.innerHTML = html;
element.parentNode.insertBefore(new_element, element.nextSibling);
};

// 全てのを取り出す
// XPathの記法を使えば取捨選択できそうなのだが...
var aNodes = document.evaluate(
"//a", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
// 全ての
タグの後ろに、ある要素を追加する
for (var i = 0; i < aNodes.snapshotLength; i++){
var node = aNodes.snapshotItem(i);
var script = '
[Map]';
do_insert_html(document, "P", node, script);
}

クリックして、親のfunctionを呼ぼうとすると、permisson deniedになってしまう…