0

私はしばらくの間、この問題に対して頭を悩ませてきました。助けやアドバイスを期待していました。

iframe に埋め込んだ svg グラフィックがあります (わかりにくいですが、独自のダッシュボード/ウィジェット アプリケーションを作成しました。これが、既存の svg フレームワークをウィジェットに移植する最も簡単な方法でした)。それらの svg グラフィックスを他の svg グラフィックスにリンクできるようにする必要があり、それらを同じ iframe で開く必要があります。

svgでリンクする方法について説明しているこの投稿を見つけましたが、下部の比較では、IE (少なくとも 7) では「現在のウィンドウ」以外でリンクを開くことは不可能であることを示しているようです。これは私が試したすべてのケースに当てはまるようですが、インターネットの世界のどこかで、誰かがこれに対する回避策を見つけてくれることを望んでいました.

これが私が試したことです:

1. <a xlink:href='<path to new embedded graphic>' target='<iframeName>' ... />

Chrome 13:完璧に動作し、正しいフレームで開きます!
Firefox 6.0.2:新しいタブで開こうとする
IE 9.0.8:新しいタブで開こうとする

2. <a xlink:href='<path to new embedded graphic>' xlink:show='replace' ... />

Chrome 13: svg グラフィックを目的のファイルに置き換えますが、埋め込まれた svg グラフィックを含む ASP ページに置き換えるため、ページに「ネストされた」効果が発生します。
Firefox 6.0.2: Chrome と同様 - その場で読み込まれますが、ネスティングが発生しますが、FF ではグラフィックは読み込まれません。
IE 9.0.8: Chrome と同様に、その場で読み込まれますが、ネストが発生します。

ターゲットフレームを設定するのが私の行きたい方法のようですが、FFとIEで動作させる方法はありますか? これで成功した人はいますか?

私が試みているもう1つのことは、リンクがクリックされたときにフレームのwindow.document.location.hrefをJavaScriptで設定することです。ただし、それは難しいことがわかっており、実際には Chrome でしか試していません。時間を無駄にする前に、アドバイスをいただければ幸いです。

4

1 に答える 1

1

IE9、Chrome 13、およびFF 6で、次のことがうまく機能したことがわかりました。

<a xlink:href='<path to new embedded graphic>' target='_parent' .../>

これにより、たまたま私の iFrame である親ウィンドウでグラフィックが開きます。

于 2011-09-14T22:57:03.463 に答える