7

ページがあり、ページ内に iframe があります。ディレクトリは次のとおりです。

Folder1
   Folder2
      IframeCSS
          IframeCSS.Css
      iframePage1.html
stuff.css
parentPage1.html

iframePage ではIframeCSS.Css相対リンクを使用して参照しているので、/IframeCss/IframeCSS.Css

アプリケーションの性質上、iframe ページのリンクをハードコードで変更することができません (物理的な iFrame Html ページの変更)。

全体的な目標は、相対リンク ( )を介しiframePage1.htmlIframeCSS.Css(および他のすべての hrefs/src を)表示することです。href="/IframeCSS/IframeCss.Css"

私が試したことがいくつかあります:

  1. 基本パスを Iframe に動的に追加する

    ベースはiframeのロード後にのみ追加できるため、リンクがベースが存在しないかのように機能するため、これは失敗しました

  2. HTML を取得するコンテナ Iframe を作成し、Base を追加して、コンテンツを表示された Iframe にコピーします。

    上記の理由により、これは失敗しました。このメソッドは、Google Map API の読み込みにも問題を引き起こします。

  3. jqueryを使用してコンテナiframeを調べ、親ルートをすべてのsrcとhrefに追加してURLを変更します

    これも失敗しました。

この時点で私が何をすることをお勧めしますか?

(iframe は同じドメインを指し、ユーザーは iframe をナビゲートできる必要があります)

親 HTML:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <link rel="stylesheet" href="cmsCSS/CmsStyle.css" />
    <title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="CmsScript.js"></script>
<script src="Insights.js"></script>
</head>

<body id="Dash">
    
    <form id="form1" runat="server">
    <div id="topDash">
        <img id="something" src="img/logo.png" />

    </div>

    </form>
         <iframe id="dashBody"></iframe>
         <iframe id="iframeContainer"></iframe>
</body>
</html>
4

3 に答える 3

2

同じディレクトリ構造を使用すると、これは-

href="IframeCSS/IframeCss.css"

うまくいきませんでしたか?「/」がないと、同じディレクトリに保持されます。逆に、「../」を使用すると、1 つのディレクトリに戻ることを意味します。したがって、後ろに移動しようとしている場合は、「../」を追加し続けることができます (例: 「../../../stuff.css」)。

于 2014-01-10T04:03:01.897 に答える
1

同じドメイン内のページを参照することは、iframe がなくてもページが相対ファイル パスで機能しないため、単純に不可能です。

Folder1
   Folder2
      IframeCSS
          IframeCSS.Css
      iframePage1.html
stuff.css
parentPage1.html

domain.com/Folder1/Folder2/IframePage1.html IframePage1.html が css にアクセスしようとしているため、ページに入力してページにアクセスした場合は機能しません。

href="/IframeCSS/IframeCss.Css"

domain.com/IframeCSS/IframeCss.Cssこれは、私が提供したファイル構造に基づいて検索していることを意味します。単に存在しません。

私がやろうとしていたのは、iframePage 全体の Hrefs と srcdomain.com/IframeCSS/IframeCss.Cssdomain.com/Folder1/Folder2/IframePage1.html.

これに対する解決策は、 の内容をFolder2ルート ディレクトリに配置し、新しいルート内にparentPage1.html. この方法では、ファイル パスを変更する必要はありません。

于 2013-10-09T12:31:08.177 に答える