common.jsfunction goUrl(lang){...// $_SESSION['language']=lang 这句代码在js里要怎么写?...}
js と php の間のやり取りは、ajax を使用するのが最適です
通常、js は php に埋め込まれます、ここでjsはphpを書き込みますサーバーがそれをサポートしている必要があります。
function goUrl(lang){
...
6269149647aa3f2a2297b59e02bc2b8c
...
}
js は通常、次のように PHP に関連付ける必要があります。 AJAX リクエストを使用する場合、JS のロード時にセッション値を取得したい場合は、js コード ブロック a3a75570816a3ef04bb00f3b882171f3 を記述します。ページ セッションを設定するとき、これは js とは何の関係もありません。 024bb109b25450039e11f82a9f3d8d9d
main.inc.php<?php...$language = 'tc';if (isset($_G['lang']) && in_array($_G['lang'], array('tc', 'sc'))) { $language = $_G['lang']; $_SESSION['language'] = $language;} else if (isset($_SESSION['language']) && !empty($_SESSION['language'])) { $language = $_SESSION['language'];} else { $_SESSION['language'] = $language;}...?>index.php<?phprequire_once dirname(__FILE__) . '/includes/main.inc.php'; $tpl->display('index.html');?>index.html[code=php]<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/common.js"></script> </head> <title></title> <body> <li> <a class="lang_tc" onclick="goUrl('tc')" href="javascript:;">繁</a> </li> <li> <a class="lang_sc" onclick="goUrl('sc')" href="javascript:;">简</a> </li> <li> <a href="a.php">New</a> </li> 繁,繁,繁,繁,繁 </body></html>common.jsfunction goUrl(lang){ var url = document.location.href; var query = window.location.search.substring(1); var urls = url.replace(window.location.hash, '').split("?"); var vars = query.split("&"); var query = ""; for (var i=0;i<vars.length;i++) { var pair = vars[i].split("="); if (pair[0] != "lang" && pair[0] != "") { query = query + pair[0] + "=" + pair[1] + "&"; } } query = query + "lang=" + lang; location.href = urls[0]+"?"+query+window.location.hash;}
1. セッション変数はサーバーに保存され、クライアントはそれをアクティブに変更できません
2. location.href = urls[0]+"?"+query+window があります。 location.hash; in goUrl(); したがって、urls[0]が指すプログラムファイルにセッション変数を設定する必要があります
1. セッション変数はサーバーに保存され、クライアントによってアクティブに変更することはできません
ジャンプ後、index.php - >index.html goUrl()実行時に元のリンクに追加しますか? lang=XX で言語を変更します