Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用单个javascript properties.js文件在多个HTML文件中设置变量?_Javascript_Html_Variables_Src - Fatal编程技术网

如何使用单个javascript properties.js文件在多个HTML文件中设置变量?

如何使用单个javascript properties.js文件在多个HTML文件中设置变量?,javascript,html,variables,src,Javascript,Html,Variables,Src,更新:这是一个内存缓存问题,Firefox和Chrome在每次页面刷新时都从内存缓存中提取properties.js文件,而不是从服务器下载新版本。下面的网络标签提示允许我看到这种行为。谢谢你 在HTML文件中使用元标记(如下所示)毫无帮助: <meta http-equiv=“Pragma” content=”no-cache”> <meta http-equiv=“Expires” content=”-1″> <meta http-equ

更新:这是一个内存缓存问题,Firefox和Chrome在每次页面刷新时都从内存缓存中提取properties.js文件,而不是从服务器下载新版本。下面的网络标签提示允许我看到这种行为。谢谢你

在HTML文件中使用元标记(如下所示)毫无帮助:

    <meta http-equiv=“Pragma” content=”no-cache”>
    <meta http-equiv=“Expires” content=”-1″>
    <meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
[文件层次结构]


<head>
...
<script type="text/javascript" src="./properties.js"></script>
...
</head>
<body>
...
<main>
...
<div class="text-value" id="ts1_info.var1"></div>
...
<script type="text/javascript">
   document.getElementById("ts1_info.var1").innerHTML = ts1_info.var1;
</script>
...
</main>
</body>
<head>
...
<script type="text/javascript" src="./properties.js"></script>
...
</head>
<body>
...
<main>
...
<div class="text-value" id="ts1_info.var1"></div>
...
<script type="text/javascript">
   document.getElementById("ts1_info.var1").innerHTML = ts1_info.var1;
</script>
...
</main>
</body>
var ts1_info;
ts1_info = {
    var1: "my_value",
    ...
;

page1.html
      |
      |_ page2.html
      |_ properties.js
在page1.html中,src行向下移动1级,如下所示:

<script type="text/javascript" src="./sub_directory/properties.js"></script>


在page2.html中,src行将进入同一级别:


<script type="text/javascript" src="./properties.js"></script>



尝试将要跨其他页面访问的变量存储在本地存储器中。本地存储允许在web浏览器中保存键/值对,因此当一个页面更新变量时,该变量也可用于另一个页面。

尝试将变量存储在本地存储中,以便跨其他页面访问。本地存储允许在web浏览器中保存键/值对,因此当一个页面更新变量时,该变量也可用于另一个页面。

通常不使用。在链接到脚本文件的路径中,请重试

<script type="text/javascript" src="sub_directory/properties.js"></script>



它适用于不同的文件名,但不适用于相同的文件名,这是毫无意义的。

您通常不使用。在链接到脚本文件的路径中,请重试

<script type="text/javascript" src="sub_directory/properties.js"></script>



它适用于不同的文件名,但不适用于相同的文件名,这真的毫无意义。

这似乎是浏览器缓存问题。我需要弄清楚如何强制Chrome和Firefox在每次页面刷新时都新下载properties.js文件,而不是从缓存中下载。这似乎是浏览器缓存的问题。我需要弄清楚如何强制Chrome和Firefox在每次页面刷新时新下载properties.js文件,而不是从缓存中下载。当我想阻止脚本被缓存时,我想做的是在文件路径的末尾添加一个参数,如:
scripts.js?v=0001
或在我的php项目中,每次更新文件名时,我都使用npm将uuid添加到文件名的末尾

您可以在此处查看更多信息:


只是想给你指出正确的方向!希望这能有所帮助。

当我想阻止缓存脚本时,我想做的是在文件路径的末尾添加一个参数,如:
scripts.js?v=0001
或者在我的php项目中,每次更新文件名时,我都使用npm在文件名的末尾添加一个uuid

您可以在此处查看更多信息:


只是想给你指出正确的方向!希望这能有所帮助。

导入js文件对于任何数量的html页面都可以正常工作。当您单击从一个页面到下一个页面的链接时,或者即使直接转到第二个页面,变量也不可用?当我在FILE1.HTML中使用与在FILE2.HTML中相同的代码为变量赋值时,它适用于第一个文件,但第二个文件中的值仍然为空。我正在使用的一个工作循环是将properties.js克隆到另一个名称,如properties2.js。当page2.html在src行中有一个唯一的文件名时,一切正常。当我在多个html文件的src行中使用“相同”文件名时,这只是一个问题。我的理解是,您正在尝试从FILE1.html设置properties.js中的变量,并访问FILE2.html中的那些设置值。如果这就是你想做的,那是行不通的。不,那不是我想做的。我正在做的是使用bash/jq/api创建一个包含多个键:值对的JavaScript文件,多个HTML5页面将使用这些键:值对为变量赋值。bash/jq/api每分钟运行一次,并更新properties.js文件中的值,这反过来会在页面刷新时反映HTML5页面中的更新值。嗯……是的,我不明白为什么这不起作用。检查devtools中的“网络”选项卡,查看第二个页面是否接收到该文件。对于任何数量的html页面,导入js文件都可以正常工作。当您单击从一个页面到下一个页面的链接时,或者即使直接转到第二个页面,变量也不可用?当我在FILE1.HTML中使用与在FILE2.HTML中相同的代码为变量赋值时,它适用于第一个文件,但第二个文件中的值仍然为空。我正在使用的一个工作循环是将properties.js克隆到另一个名称,如properties2.js。当page2.html在src行中有一个唯一的文件名时,一切正常。当我在多个html文件的src行中使用“相同”文件名时,这只是一个问题。我的理解是,您正在尝试从FILE1.html设置properties.js中的变量,并访问FILE2.html中的那些设置值。如果这就是你想做的,那是行不通的。不,那不是我想做的。我正在做的是使用bash/jq/api创建一个包含多个键:值对的JavaScript文件,多个HTML5页面将使用这些键:值对为变量赋值。bash/jq/api每分钟运行一次,并更新properties.js文件中的值,这反过来会在页面刷新时反映HTML5页面中的更新值。嗯……是的,我不明白为什么这不起作用。检查devtools中的“网络”选项卡,查看第二个页面是否正在接收文件。本地存储依赖于浏览器并允许数据持久化。properties.js中的值每分钟都会从cron作业更新一次API数据,使用JQ对其进行解析,然后使用Bash将值推送到properties.js文件中。。我更愿意将properties.js文件作为HTML内容的唯一真实来源,而不是添加本地存储层。本地存储依赖于浏览器,允许数据持久化。properties.js中的值是upd