0

次のようなiframeがたくさんあるWebサイトがあります。

<iframes src="expamle.com\page.html?var=blabla&id=42" scrolling="no"></iframe>

var=blabla&id=42iFrameごとに変更する必要があります。これらのパラメーターは、iframe の JavaScript で使用されます。すべての変数に対して 1 回キャッシュする (ブラウザにヒントを与える) page.html(静的) 方法はありますか?

このコードを(別のサーバーから)更新して別のスコープで実行できるようにするため、iframeを使用する必要があります。

4

3 に答える 3

1

いいえ - クエリ文字列を変更すると、ブラウザーの別のリソースになります。

ただし、page.html に若干の変更を加えることができれば、その効果を達成できる可能性があります。このように書くと:

<iframes src="expamle.com\page.html#var=blabla&id=42" scrolling="no"></iframe>

文字の使用に注意してください#- それが鍵です。

クエリ文字列は単に「page.html」になり、そのようにキャッシュされます。ただし、そのページの Javascript は変数にアクセスでき、変数document.location.hashには " " が含まれますvar=blabla&id=42。単一の文字列として記述されますが、解析は難しくありません。一部のライブラリでは、IE6 との互換性のために、そのタグを使用してパラメーターを半リアルタイムで iframe に渡します。

于 2013-10-21T20:08:14.803 に答える
0

JavaScript でのみ使用されているが、実際にはサーバー側で 1 ページのみである場合は使用しないでください。ただし、 # を使用すると、同じページと見なされますが、アンカー ポイントが異なります。したがって、test.com/#foo がキャッシュされている場合、test.col/#bar もキャッシュされます (同じページ、異なるアンカー ポイント)

于 2013-10-21T20:06:38.543 に答える
-1

コードからフレーム URL を更新できます。

var fr = document.getElementsByTagName('iframe');
var sites = "1.com,2.com".split(",");

for(var x=0;x<fr.length;x++) {
     document.getElementsByTagName('iframe')[x].src="http://"+sites[x];
}
于 2013-10-21T20:08:53.370 に答える