現在、私は、js/jQueryを使用してアクセスしようとしているFCKEditorを使用して、OpenCms(JavaベースのオープンソースCMS)を少しカスタマイズしようとしています。jQueryを使用してiframeのhtmlコンテンツを取得する
私はiframeのhtmlコンテンツを取得しようとしますが、常に返品としてnullが返されます。 これは私がIFRAMEからHTMLコンテンツを取得しようとする方法である:スクリーンショットを見て
var editFrame = document.getElementById('ta_OpenCmsHtml.LargeNews_1_.Teaser_1_.0___Frame');
alert($(editFrame).attr('id')); // returns the correct id
alert($(editFrame).contents().html()); // returns null (!!)
、私がアクセスできるようにすると、現在の値を保持している「LargeNews1 /ティーザー」HTMLセクション、「Newslineですエン... "。 以下、Firebugのhtml構造を見ることができます。
しかし、$(editFrame).contents().html()
はnullを返し、理由はわかりませんが、$(editFrame).attr('id')
は正しいIDを返します。
iframeのコンテンツ/ FCKEditorは同じサイト/ドメインにあり、サイト間の問題はありません。 IFRAMEの
HTMLコードがhttp://pastebin.com/hPuM7VUzで
が更新されます
は、ここに機能するソリューションです:
var editArea = document.getElementById('ta_OpenCmsHtml.LargeNews_1_.Teaser_1_.0___Frame').contentWindow.document.getElementById('xEditingArea');
$(editArea).find('iframe:first').contents().find('html:first').find('body:first').html('some <b>new</b><br/> value');
ありがとうございました。私は自分の質問を編集し、最後に最後の解決策を追加しました。 –
これはFirefoxでは動作しますが、chromeでは動作しません。私はちょうど得る
。 – user3411192