2

このスクリプト コード (以下) を head タグの間に配置すると、ページを iframe に読み込むことができないと言われました。

これが正しければ、このコードでカスタム URL または類似のものに置き換える必要があるものはありますか (例: でtop.locationある必要がありますtop.myurl)?

それともそのままで、ページの先頭に貼り付けますか?これがどのように機能するかを理解しようとしています。

if (top.location!= self.location) {
  top.location = self.location.href
}
4

1 に答える 1

0

このコードは、 内で参照される HTML に配置されている場合に機能しますiframe。それが機能する方法は、top( を含むリクエストしたページiframe)とself内のページを見ることiframeです。異なる場合は、top.location を の URL と一致するように変更しますiframe

これを理解するのに役立つASCIIを次に示します

|----[OuterPage.html]------|
|                          |
|    |--[InnerPage.html]-| |
|    |                   | |
|    | top !== self      | |
|    |                   | |
|    |-------------------| |
|                          |
| top === self             |
|                          |
|--------------------------|

InnerPage.html を (iframe 内ではなく) 単独でリクエストtop === selfすると、true と評価されますが、iframe 内で同じページをリクエストすると、同じ条件が false と評価されます。

于 2013-01-09T18:42:44.717 に答える