0

使用している内部Webアプリケーションを強化しようとしています。カスタムのお気に入りを使用して、特定のフィールドに自動入力しています。フォームに入力する必要のあるjavascript変数は、内部的に別のHTMLページに存在します。別のHTMLページから変数にアクセスすることは可能ですか?それらは外部ページのドキュメント要素に埋め込まれます。

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

これは、お気に入りとしてページに埋め込まれます。

ありがとう!

4

2 に答える 2

1

framesiframe を使用して、onload ハンドラーのオブジェクトを介してその変数にアクセスできます。

<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>
于 2009-08-29T08:02:23.417 に答える
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);
于 2009-08-30T00:13:47.413 に答える