2009-08-27 8 views
5

Greasemonkeyのスクリプトを作成しましたが、Greasemonkeyの仕様は削除されていますが、ユーザースクリプトとしてパッケージ化しようとしたときにはうまく動作しません。 Firefoxエラーコンソールは、使用しようとしているiframeが未定義であると報告しています。Greasemonkeyスクリプトでiframeが定義されていません

私はそれが放火犯コンソールにはiframeのHTMLを印刷しなければならない最低限の場合にuserscript削減、および放火魔エディタで実行したときに行いますが、userscriptとして働いていませんしました:

// ==UserScript== 
// @name   Movies 
// @include  http://*.princecharlescinema.com/* 
// @include  http://princecharlescinema.com/* 
// ==/UserScript== 

// stop script loading multiple times 
if (top !=self) return; 

var iframeHTML = window.frames['iframe2'].document.documentElement.innerHTML; 
unsafeWindow.console.log(iframeHTML); 

An example page the script is intended for

それはあらゆる使用のなら、完全なスクリプトの要旨は、私は彼らからいくつかの情報を取得し、このIFRAMEからすべてのtdタグを収集し、同じTDタグの一部にいくつかの新しいHTMLを挿入しています。

ご協力いただければ幸いです。

答えて

0

はおそらく、あなたはDOMFrameContentLoadedを待つ必要が

私は長い間、タイマーを使用してみましたが、問題はインラインフレームを準備されていない内部の一部のコンテンツではありませんが、Greasemonkeyのは、それ自体が存在しない、実際のiframeタグのように振る舞っている
+0

。 – aston

+0

長いタイマーをテストし、name属性の代わりに配列位置[2]でフレームを識別すると、そのフレームは機能します。 DOMFrameContentLoadedはsetTimeOutより優れたソリューションです。 – aston

関連する問題