javascript - 变量的范围不会扩展到另一个文件

标签 javascript var

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

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

log_in.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”。

edit_story_name.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>

edit_story_name.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”。

请帮忙。

最佳答案

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

保存一个页面的某些状态并可在其他页面中使用的常用方法有:

  1. 将值存储在 Cookie 中
  2. 将值存储在本地存储中(仅限现代浏览器)
  3. 将值存储在网页可以检索的服务器上

关于javascript - 变量的范围不会扩展到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006067/

相关文章:

javascript - css 删除 Logo 周围的虚线

javascript - 找不到模块,无法解析

javascript - Jscrollpane 和 Bootstrap 模式不工作

javascript - Angular JS : Change only clicked button text in ng-repeat

javascript - 我如何在 jquery 中使用一个简单的字符串变量?

c# - 公共(public)部分类 |变量

ios - 使用循环到几个 subview (swift4)

javascript - 在 React Native 中动态添加组件时如何启用流畅的动画?

javascript - 如何从 HTML 页面访问 Gnome 应用程序 JavaScript 函数?

Javascript变量在更改后修复最后一个值