Chrome输入替代类型“隐藏”中的“保存”值

时间:2019-03-15 09:29:47

标签: javascript jquery asp.net google-chrome

我尝试使用浏览器的后退按钮强制刷新以检测页面是否已加载。因此,我使用了

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="#all"
    version="3.0">

    <xsl:output indent="yes"/>

    <xsl:template match="/">
        <four-ways-to-select>
            <enhanced-qname>
                <xsl:copy-of select="//Q{http://purl.org/dc/elements/1.1/}title"/>
            </enhanced-qname>
            <namespace-declaration>
                <xsl:copy-of select="//dc:title" xmlns:dc="http://purl.org/dc/elements/1.1/"/>
            </namespace-declaration>
            <xpath-default-namespace>
                <xsl:copy-of select="//title" xpath-default-namespace="http://purl.org/dc/elements/1.1/"/>
            </xpath-default-namespace>
            <namespace-wildcard>
                <xsl:copy-of select="//*:title"/>
            </namespace-wildcard>
        </four-ways-to-select>
    </xsl:template>

</xsl:stylesheet>

可以在IE,Edge和Firefox上正常使用,但不能在Chrome中使用。我搜索了一下,这是答案:Chrome浏览器不支持在隐藏的输入中“保存”值的优点。您还知道返回页面后“保存”并请求更改值的其他可能性吗?

1 个答案:

答案 0 :(得分:1)

@Albert在评论中的解决方案。

        if (!localStorage.getItem("refresh"))
        {
            localStorage.setItem("refresh", "yes");
        }
        else
        {
            localStorage.removeItem("refresh");
            parent.location.reload(true);
        }

在IE,Edge,Firefox和Chrome中完美运行。如果您自己尝试,请不要忘记删除该项目。如果要在关闭浏览器时获得清晰的存储空间,则需要sessionStorage。