本地存储由 .php 脚本递增的 javascript 变量
Posted
技术标签:
【中文标题】本地存储由 .php 脚本递增的 javascript 变量【英文标题】:Locally storing a javascript variable which is incremented by .php script 【发布时间】:2015-06-04 23:51:28 【问题描述】:我有一个在 .php 脚本中递增的 javascript 变量,除了 .php 脚本使页面重新加载然后重置变量之外没有问题,我的问题是,是否可以在本地存储一个javascript 变量即使整个增量发生在 .php 脚本中,并且变量和本地存储在带有变量和函数的 html 脚本中,但 html/javascript 文件和 .php 文件是分开的,这是困难的部分。
html/javascript:
<div class="bidVar">
current amount: $<span id="bidVar"></span>
</div>
<script type="text/javascript">
var bidVar= 1;
document.getElementById("bidVar").innerHTML = bidVar;
document.getElementByID("bidVar").value = bidVar;
function addToCurrent()
bidVar= bidVar+ 1 ;
document.getElementById("bidVar").innerHTML = bidVar;
</script>
.php:
<?php
echo '<script type="text/javascript"> addToCurrent(); </script>';
?>
【问题讨论】:
【参考方案1】:本地存储中的变量不由 PHP 递增:您的 PHP 脚本会输出一些执行此操作的 Javascript 代码。 您要么不必直接在 PHP 脚本中重定向,要么用指示下一页应该增加变量的内容进行重定向。
例子:
script.php
// ...
header('Location: mypage.php?increment=true');
exit();
mypage.php
// ...
if (isset($_GET['increment']) && $_GET['increment'] == true)
echo '<script type="text/javascript"> addToCurrent(); </script>';
// ...
【讨论】:
是否可以让变量仍然在同一个脚本中,然后在 .php 脚本中有一个函数,该函数重定向到另一个页面,然后增加变量,然后重定向到第一页其中的实际变量?【参考方案2】:为了避免刷新页面并因此重新加载 JavaScript,您可能需要查看 AJAX 样式的页面。这样可以重新加载或操作页面的特定部分,可以调整 JavaScript 变量,但不会重新加载整个页面。
如果这不可能,您必须让您的 JavaScript 在单击链接或提交表单时发送其当前计数,让您的 PHP 捕获该数字,然后您的 PHP 将当前计数发送到您的 JavaScript,当页面重新加载。
【讨论】:
以上是关于本地存储由 .php 脚本递增的 javascript 变量的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 应用程序中本地存储的 Adobe Edge 动画?