0

我有两个 html 文件:log_in.htmledit_story_name.html以及两个 javascript 文件log_in.jsedit_story_name.js

我在 log_in.js 中初始化了一个对象变量。

登录.js

var User_Name= {value: "default_value"};    
var  Login_Password;

$(document).ready( function(){
$(' #public_User ').click( function(){

    $(' #log_in_account_txt ').val('publicUser');           
    $(' #log_in_psw ').val('publicUser');
    User_Name.value= "publicUser";

    alert("User_Name.value is"+ User_Name.value);
    window.open('edit_story_name.html','newwindow');        
});
});

当用户按下按钮“public_User”时,它会将对象变量的值分配为“pulicUser”。
然后将打开窗口“edit_story_name.html”。

编辑故事名称.html:

<!DOCTYPE>
<html>
<head>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery-1.7.2.js"></s   ript>        

<script type="text/javascript" src="log_in.js"></script> 
<script type="text/javascript" src="edit_story_name.js"></script>
<link  type="text/css" href="edit_story_name.css" rel="Stylesheet"/>
</head>
<body>
<input id="input_story_name" type="text" value="">
</body>
</html>

编辑故事名称.js:

window.addEventListener( "load",function(){
alert("User_Name.value is"+ User_Name.value);

if(User_Name.value == "publicUser"){
Story_Name="_story";
}else {                 

Story_Name= User_Name.value +"_story";
}


$(' #input_story_name').val(Story_Name);
});

基本上,在我按下 log_in.js 中的“public_User”按钮后,User_Name 的值应该更改为“publicUser”。但无论我多么努力,该值仍然是:“default_value”。

请帮忙。

4

2 回答 2

4

Javascript 变量仅在单个网页的生命周期内持续存在。此外,每个浏览器窗口都有自己独立的状态。当您在同一窗口中转到另一个网页时,您的 javascript 脚本会从头开始重新初始化,并且不包含前一页中的任何值。

从一个页面保存某些状态以供其他页面使用的常用方法是:

  1. 将值存储在 cookie 中
  2. 将值存储在本地存储中(仅限现代浏览器)
  3. 将值存储在网页可以检索它的服务器上
于 2012-10-22T06:39:06.767 回答
0

edit_story_name.html 在新窗口中打开,旧窗口中的所有变量都将丢失,因为 DOM 在新窗口中重新加载。

于 2012-10-22T06:40:04.380 回答