2009-08-29 14 views
0

私が使用する内部Webアプリケーションを拡張しようとしています。カスタムフィールドを使用して、特定のフィールドをオートポピュレートしています。私がフォームに移入するために必要なjavascript変数は、内部的に別のHTMLページに存在します。別のhtmlページからvarsにアクセスできますか?それらは外部ページのドキュメント要素に埋め込まれます。同じドメイン内のHTMLページからjavascript変数にアクセスしていますか?

私はポップアップを開く、またはページをリダイレクトしたくありません。

これは、ファブレットとしてページに埋め込まれます。

ありがとうございます!

答えて

1

あなたはインラインフレームを使用して、onloadハンドラでframesオブジェクトを介してその変数にアクセスすることができます:それは動作しますように

<script type="text/javascript"> 
    // This function will run as a callback when the iframe loads 
    function frameLoad() { 
     // Access the foo variable from external.html 
     var foo = frames["externalFrame"].foo; 
    } 
    // Create an invisible iframe 
    var iframe = document.createElement('iframe'); 
    iframe.width = 0; 
    iframe.height = 0; 
    iframe.style.display = "none"; 
    // Reference the page on the same domain with external variables on it 
    iframe.src = "external.html" 
    // Give it a name and ID so we can access it via the frames object 
    iframe.id = "externalFrame"; 
    iframe.name = "externalFrame"; 
    // Set the load handler 
    iframe.onload = frameLoad; 
    // Append the iframe to the DOM 
    document.body.appendChild(iframe); 
</script> 
+0

私のオリジナルの答えではjavascriptのは、私が今修正しましたいくつかのエラーを持っていました。 –

+0

お役立ち情報私はアプリがiframeで「投獄」されていたが、フレーム外の変数にアクセスしなければならなかった似たような問題があった。私はこれがまったく可能であることを知らなかった。 – Matthias

+0

情報ありがとう!私はこれが動作すると思うが、私はいくつかのエラーが発生しています。下を見てください。 –

0

のiFrameが見えます、しかし、私はまだVARSへのアクセスに関連して、いくつかの問題を抱えています。これは現在のウィンドウをフラッシュして[オブジェクト]を表示しますか?ここで私はこれまで得たものだ

...

javascript: 
var issueDoc = window.frames.editor.document; 

function wwaLoad() { 
    alert(issueDoc.control.getSortedIdList()); 
} 

var listFrame = issueDoc.createElement('iframe'); 
listFrame.width = 0; 
listFrame.height = 0; 
listFrame.style.display = "none"; 
listFrame.src = "lp.jps?data=1"; 
listFrame.id = "WWALIST"; 
listFrame.name = "WWALIST"; 
listFrame.onload = wwaLoad; 
issueDoc.body.appendChild(listFrame); 
+0

あなたの 'lp.jps?data = 1'フレームウィンドウコンテキストは、' window.frames.editor.document'ではなく 'window.frames ['WWALIST']'でアクセスする必要があります –

+0

問題は私がWWALoad何らかの理由でdocument.writeが発生するためです。私は[オブジェクト]を書くことなくページにテキストを追加することができません。 こちらの方が良いでしょう http://stackoverflow.com/questions/1353215/javascript-appendchild-is-causing-document-write-favelet –

関連する問題