ユーザーが既に新しいページにリダイレクトするのではなく、そのページ内に「ページを読み込む」必要があります。これを行うには、iframeが最善の方法だと私は理解しています。私はjQueryのdialog boxがこのiframeコンテンツのラッパーとして好きです。見た目がよくて、ポップアップの位置を変更したり、簡単に閉じることができます。jQueryダイアログボックス内のiframe内の要素にアクセスする
ただし、このiframeの要素にアクセスする際に問題があります。私は、ユーザーの元のウィンドウからデータを取得し、新しいiframeの入力要素に追加することができますが、私はこれを行うための構文を見つけることはできません。
iframeページのコードに、jQueryの使用を上書きするものが$
であるため、$('#foo').text('bar')
は使用できません。私は純粋なJavaScriptで正しい構文を見つけようとしてきた -
e_frame
は私のiframeに与えたIDであり、
title
はiframe内にロードする要素のidです
var a = window.frames["e_frame"].document.getElementById ("title");
a.text = 'foobar';
のように。これらの両方を開発者用コンソールではっきりと見ることができますが、私はそれらにアクセスできず、私が間違っていることがわかりません。コンソールで上記のコマンドを入力するには、私は、このエラーを与える:私は私が探しているかわからないんだけど以来
VM364:1 Uncaught TypeError: Cannot read property 'document' of undefined
at <anonymous>:1:28
と自分自身をデバッグするためにコンソールにwindow.frames
を入力するには、通過するために私にあまりにも多くの行を与えます。
アイデア?
同じプロトコルとポートを親ページとして使用して、同じドメインのiframe内のページです。 – adeneo
iframeは別のサブドメイン(a.mydomain.comとb.mydomain.com)からのものです - Apache ProxyPass経由でロードしています - プロキシ経由でロードする前にCORSエラーが表示されていましたが、プロキシを介してページを読み込み、通常のようにマウスやキーボードを使ってページとやりとりできますが、コードから直接アクセスすることはできません。 –
私は同じサブドメイン上の別のページで同じアプローチを試みましたが、私はjavascriptでページの要素にアクセスできます。私はそれがCORSの問題だと思います。それをねえ! –