我有这个javascript,我只需要运行一次,而不是本地存储来保存状态。脚本在注销时更改登录。即使页面刷新我也不希望执行脚本:
var str=document.getElementById("tst").innerHTML;
var n=str.replace("Login","Logout");
document.getElementById("tst").innerHTML=n;
html:
<a href="login" title="log in" class="login_button" id="tst">Login</a></span>
我尝试使用此代码,但现在根本不会触发脚本:
var eventsFired = localStorage.getItem('fired');
if (eventsFired != '1'){
if (document.getElementById('tst')){
var str=document.getElementById("tst").innerHTML;
var n=str.replace("Login","Logout");
document.getElementById("tst").innerHTML=n;
localStorage.setItem('fired', '1');
} }
Js小提琴链接http://jsfiddle.net/9t4Wb/4/
我甚至尝试使用jquery.cookies.js使用cookies,结果相同:
var eventsFired = ($.cookie('eventsFired') != null)
? $.cookie('eventsFired')
: 0;
if (eventsFired == 0){
if (document.getElementById('tst'))
{
var str=document.getElementById("tst").innerHTML;
var n=str.replace("Login","Logout");
document.getElementById("tst").innerHTML=n;
eventsFired++;
$.cookie('eventsFired', eventsFired);
}}
Cookies Jsfiddle test http://jsfiddle.net/JqxVj/5/
答案 0 :(得分:0)
如果您需要支持Chrome用户以外的其他用户,可以使用AmplifyJS
它让你在所有浏览器上只使用一种语法......
//Set value
amplify.store("myKey", myObject)
//Get value
amplify.store("myKey") // return myObject
您还可以查看the documentation并查看此插件的优势