多言語ウェブサイト、言語変更時のページ更新の問題
まず写真を見てください
問題は、言語を選択した後、その列の下にあるすべてのサブ列を更新する必要があることです
selectのonchangeイベントを利用しました
コードは次のとおりです:
関数changeLan()
{
var selectVal=document.topForm.select1.options[document.topForm.select1.selectedIndex].value;
//alert(selectVal);
window.location.href="change_ language.php?lan="+selectVal;
window.parent.location.reload();
}
change_ language.php ページのコードは非常にシンプルで、セッションを保存するだけです
コードは次のとおりです:
session_start();
$lan=$_REQUEST['lan'];
//echo $lan;
$_SESSION["lan"]=$lan;
?>
今の質問は次のとおりです:
上位レベルのページを更新すると、セッション値が失われます
理由は何ですか?
専門家の方、初心者の私にアドバイスをお願いします!
-----解決策--------------------------------
window.parent.location.reload() を入れます。
change_ language.php
で試してください。
考えられる理由は
window.location.href="change_ language.php?lan="+selectVal;
現在のフレーム ページは更新されますが、ページが返されるまで待機しません。返却を待つと次の文は無効となります
window.parent.location.reload();
フレーム全体をリフレッシュします。この文と前の文は並行して実行されると考えることができます。ページの実行時に、前の文の処理が完了していない可能性があります
すべてのページでセッションを使用していますか?
-----解決策---------
引用: