1

3 つのフレームを持つフレームベースの Web ページを作成しています。トップライナー、左側にナビゲーション、右下にコンテンツ フレーム。

ここで、ユーザーがコンテンツ フレームを右クリックしたときにポップアップ メニューを表示したいと考えています。div-container はフレームの外に出ることができないため、フレーム ページ全体を新しい iframe に配置するというのが私の考えでした。そのページでは、ポップアップ メニューである 2 番目の iframe を使用できます。

だから今、私はこのレイアウトを持っています:

<html> (start-page)
  <iframe  (real content)
    <frameset 
      top-frame
      navigation-frame
      content-frame
    >
  >
  <iframe> (my popup-menu, positioned absolutelly and hidden by default)
</html>

私のコンテンツフレームでは、ボディタグに「onmouseover」イベントが割り当てられています。このイベントは、現在のマウス位置で popup-iframe を開く必要があります。そして、まさにここに私の問題があります:マウス座標をトップWebサイト(私のドラフトの開始ページ)に対して相対的に取得する方法は?

現在、私はこのmouseDown関数を持っています(現在、IEでのみ動作しますが、FF&Coで動作させることは問題ではありません...)

function mouseDown(e)
{
  if (window.event.button === 2 || window.event.which === 3) 
  {
    top.popupFrame.style.left = event.screenX + "px";
    top.popupFrame.style.top = event.screenY + "px";
    top.popupFrame.style.display = "";
    return false;
  }    
}

ご覧のとおり、"event.screenX" および "screenY" 変数は、メインページに関連していないため、使用できる変数ではありません。

何か案は?

4

3 に答える 3

1

あなたはそれがエンタープライズアプリケーションだと言います-あなたはすべての主要なブラウザをサポートする必要がありますか、それともIEで十分ですか?

IEには必要な機能とまったく同じように機能する機能があるため、これを求めています。

window.createPopup(...)

http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx

ポップアップはブラウザウィンドウの外でも表示されます!:-)

表示するには、位置とサイズの引数を受け入れる.show(...)メソッドを使用します(詳細については、MSDNを参照してください)。良い点は、位置が相対的なページ要素への参照を渡すこともできるため、特定のページ要素、特定のフレーム、特定のブラウザウィンドウ、またはデスクトップに対してもポップアップを簡単に配置できることです。 。

于 2008-12-30T14:33:58.210 に答える
1

IE のみのサポートを計画している場合は、window.showModalDialog を呼び出して、新しいモーダル ウィンドウの使用を試すことができます。新しいウィンドウは、画面のどこにでも配置できます。

一般的に新しいウィンドウを使用し、モーダルウィンドウを使用することには多くの欠点があります...

ちなみにFF3以降はwindow.showModalDialogもサポート

于 2009-01-04T09:08:04.063 に答える
0

CSS を使用して、フレームセットを標準の DIV レイアウトに切り替えることを強くお勧めします。これは、さまざまな CSS レイアウトを設定するための出発点として適しています。

これは聞きたくないことかもしれませんが、フレームには、現在直面しているポップアップ メニューの問題以外にも多くの欠点があります。例えば:

  • フレームセットは通常、アドレスに表示される唯一のページであるため、フレームを正しくブックマークすることは困難または不可能です。
  • 新しいブラウザ ウィンドウにリンクをロードすることで、フレームセットから抜け出すのは非常に簡単です。これは、ユーザーがナビゲーションを失ったり、道に迷ったりする可能性があることを意味します。
  • モバイル デバイスやテキストのみのブラウザーでは正常に低下しません。CSS レイアウトの大きな利点は、スタイルを有効にしなくても使用できることです。
于 2008-12-30T10:09:52.970 に答える