dポイントプレゼントキャンペーン実施中!

今ページ作りで困っています。

今まではそのページ(仮にpg1.htm)にAJAXにてDIVタグ(id=otherpg)内に他のページ(仮にaaa.htm)を読み込ませてうまくいっていました。

しかし、今回作っているページの構成ではpg1.htmの中でロードするのではなく、他ページ(仮にpg2.htmとする)に切り替えています→window.location.replace("pg2.htm")

pg1.htmとpg2.htm両方とも同じメニューを使っており、pg1.htmが表示されてる時はDIVタグ内にaaa.htmをロードするとすんなり表示されます。

pg2.htmを表示しているときにスクリプト内にてpg1.htmに切り替えてからpg1.htmの中のDIVタグにaaa.htmを読み込ませようとすると読み込んでくれずうまくいきません。
結局pg1.htmが表示された後にDIVタグにaaa.htmを読み込んでくれというのをメニューから行うとできますが二度手間になってしまいます。

具体的にスクリプトで書くと、

//現在のページがpg1.htmの場合
if (toppg=="pg1.htm"){
ajaxpage(selection,' otherpg ');
}

//現在のページがpg1.htmではない場合=pg2.htmの場合
if (toppg!="pg1.htm"){
location.href="pg1.htm";
ajaxpage(selection,’ otherpg’);
}

toppgはdocument.location.hrefとsplit("/")にて現在のページ名、この場合はpg1.htmかpg2.htmがtoppgに格納されます。

ちなみにajaxpage(selection,' otherpg ');のところのajaxpageは以下のページに載っているAJAXのスクリプトを使用しています。

http://www.dynamicdrive.com/dynamicindex17/ajaxc …

ajaxpage('読み込ませたいページ名.htm','DIVタグとかのコンテナID名');
という感じの代物です。


うまく二度手間にならないようにスムーズにいく方法はないでしょうか?

A 回答 (2件)

#1>やはりそういう手しかないのですかね?


自分自身を切り換えた後に切り換える前のスクリプトから切り換えた後のページが操作できないので、
自分自身でさせるしかないように思います。
    • good
    • 0
この回答へのお礼

一応、使いものになる程度にはできたのですが、その
location.searchの追加分の影響で思うように動作しないのでまだまだ改良しなければいけませんが、ご指摘的ありがとうございますm(__)m

お礼日時:2006/09/23 00:32

ページを切り換えるスクリプトの後のスクリプトが希望するように動かないのはある意味当たり前のような気がします。


location.href="pg1.htm";
を例えば
location.href="pg1.htm?page=selection&id=otherpg";
(selection は、実際には中味なので、
location.href="pg1.htm?page=" + selection + "&id=otherpg";
とでもなるのかもしれないが、直接埋め込むということで書いています)
とでもして、pg1.htm 自身に?以降のパラメータの処理として読み込ませる処理をさせたらどうでしょうか

この回答への補足

やはりそういう手しかないのですかね?

他の方法はないのでしょうか?

補足日時:2006/09/22 10:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!