如何防止cookies进入网页?

如何防止cookies进入网页?,cookies,Cookies,我在网站上有文本字段。当我输入东西时,点击后退按钮,然后点击前进按钮,我输入的东西仍然在那里 更具体地说,文本框以灰色文本开始。当您第一次键入时,该框清空灰色文本,然后显示您以黑色键入的内容。当你这样做,然后点击后退按钮,然后点击前进按钮,我们最初键入的内容现在显示为灰色。点击该框不会再清除它,进一步的输入也是灰色的 这是我的代码(为了阅读而返回的回车): “它不是Cookies,而是一个保持表单字段填充的浏览器。初始颜色设置为灰色,因此只有您的脚本会在事件发生时对其进行更改。对于事件,您有IF

我在网站上有文本字段。当我输入东西时,点击后退按钮,然后点击前进按钮,我输入的东西仍然在那里

更具体地说,文本框以灰色文本开始。当您第一次键入时,该框清空灰色文本,然后显示您以黑色键入的内容。当你这样做,然后点击后退按钮,然后点击前进按钮,我们最初键入的内容现在显示为灰色。点击该框不会再清除它,进一步的输入也是灰色的

这是我的代码(为了阅读而返回的回车):


“它不是Cookies,而是一个保持表单字段填充的浏览器。初始颜色设置为灰色,因此只有您的脚本会在事件发生时对其进行更改。对于事件,您有IF块,但没有ELSE块来设置它

<input id="friend_name_0" 
type="text" 
style="color: #777777;" 
value="eg: Sharon" 
onblur="if(this.value==''){this.value = 'eg: Sharon'; this.style.color = '#777777';}
else {this.style.color = '#222222';}"
onfocus="if(this.value == 'eg: Sharon'){clearField(friend_name_0); this.style.color = '#222222';}" 
maxlength="9"
name="friend_name_0" />


请记住,在编写IF block时,您应该始终考虑其他内容,如果不需要,则忽略它。

是的,正如Viktor所说,这不是cookies。问题在于浏览器正在缓存页面

在您的示例中,这是意料之中的,因为自从用户返回后,页面一直没有更改(例如,假设他们输入了一些信息,但忘记了上一页中的某些内容)

当页面实际上是一个新页面时(第1页和第2页有一些URL,相同的表单,不同的预期内容),它会变得非常混乱,这也是我正在处理的问题

据我所知,防止此类行为的唯一可靠方法是(无特定顺序):

  • 使用不同的URL(在URL末尾添加一个随机数字字母组合作为get变量,称之为“uid”或类似的名称)。这不会阻止前后移动,但可以防止浏览器缓存混淆具有相同URL的两个页面

  • 加入一点javascript,比如“onload:reload”。显然,你不想要一个无限循环,所以你可以使用另一个get变量,让脚本知道之前是否已经加载了页面。可能是页面上的一个隐藏输入,它会检查。底线是,强制重新加载页面

  • 有一个js脚本,上面写着“onunload,擦除所有用户输入值”。卸载会很好,因为它不会擦除POST或GET请求,我不认为它只会擦除页面上留下的值

  • 编写一个js脚本,onload清除所有没有将值设置为属性的字段(即
    input-type='text'value='stuff'
    ),如果它在HTML本身中看到值,就保留它


  • 最后一个是我正在做的。棘手的部分是确保它不会影响页面的可访问性。

    这是我的代码(为了阅读而返回的回车)://发布/编辑时,只需选择代码块并按CTRL+K组合键进行格式化即可。(不用于评论)
    <input id="friend_name_0" 
    type="text" 
    style="color: #777777;" 
    value="eg: Sharon" 
    onblur="if(this.value==''){this.value = 'eg: Sharon'; this.style.color = '#777777';}
    else {this.style.color = '#222222';}"
    onfocus="if(this.value == 'eg: Sharon'){clearField(friend_name_0); this.style.color = '#222222';}" 
    maxlength="9"
    name="friend_name_0" />