ブックマークレットを作る際に、普通に書くとフレームページで動作しないことがあります。フレームページに対応するため、まずスクリプトを実行するページがフレームページなのかどうかを判定して、処理を行う必要があります。
コードにすると以下のような感じ。
フレームページと通常のページで処理を分ける
if (window.frames.length != 0) { // フレームページ用の処理 for(var i=0, len=window.frames.length; i<len; i++) { // フレーム内のドキュメントに対する処理 window.frames[i].document.hogehoge } } else { // 通常のドキュメントに対する処理 document.hogehoge }