Twitter bootstrap 引导程序需要清除缓存才能再次工作

Twitter bootstrap 引导程序需要清除缓存才能再次工作,twitter-bootstrap,Twitter Bootstrap,我正在尝试在我的web应用程序中使用引导程序。在最初的5分钟里,一切都很好,我第一次和唯一一次看到了弹出的步骤。然后弹出窗口就消失了。我尝试了很多方法,甚至重新启动了电脑,结果是每次我清除浏览器缓存时,它都会工作一次。然后我需要再次清除缓存 代码如下所示: helpButton.click(function() { if (window.steps === undefined) return; alert("element: " + window.step

我正在尝试在我的web应用程序中使用引导程序。在最初的5分钟里,一切都很好,我第一次和唯一一次看到了弹出的步骤。然后弹出窗口就消失了。我尝试了很多方法,甚至重新启动了电脑,结果是每次我清除浏览器缓存时,它都会工作一次。然后我需要再次清除缓存

代码如下所示:

    helpButton.click(function() {
    if (window.steps === undefined)
        return;
    alert("element: " + window.steps[0].element + ", title: " + window.steps[0].title + ", content: " + window.steps[0].content + ", val: " + $(window.steps[0].element).val());
    var tour = new Tour({
        steps: window.steps
    });
    tour.init();
    tour.start();
    alert("finished.");
});
步骤如下:

<script type="text/javascript">
var steps = [
    { element: "#choose-team", title: "快速编辑", content: "可以在这里直接编辑标题,自动保存", position: "n" },
    { element: ".hidden-editor:first", title: "快速编辑2", content: "可以在这里直接编辑标题,自动保存2", position: "n" }
];

变量步骤=[
{元素:#选择团队”,标题:快速编辑", 内容:“可以在这里直接编辑标题,自动保存,位置:“n”},
{元素:“.hidden editor:first”,标题:快速编辑2“,内容:可以在这里直接编辑标题,自动保存2“,位置:“n”}
];

  • 所有的alert()都正常,步骤中的数据也正常(这就是为什么它至少可以运行一次)
  • 所有官方的例子都可以在他们的网站上找到
  • IE和Chrome在我的电脑上都有同样的问题
  • Tour js和css完好无损(从Bootstraptour.com下载)

  • 有什么想法吗?谢谢。

    这个问题与库配置有关,因为默认情况下它将数据存储到DOM存储接口

    选项:
    存储

    默认值:
    window.localStorage

    说明:

    要使用的存储系统。可以是对象window.localStorage、window.sessionStorage或您自己的对象。 您可以将此选项设置为false以禁用存储持久性(每次加载页面时,巡更都从开头开始)

    修复

    var tour = new Tour({
        steps: window.steps,
        storage: false
    });
    

    如果存储是必须的,我刚刚找到了解决问题的另一种方法。 使用restart()而不是start()也可以解决此问题。 还有一个start(true)而不是restart(),但它直接跳到最后一步

    听起来,默认情况下,此巡更是设计为一次性巡更。 例如,当您网站上的某些内容更新时,巡更应该自动运行一次以显示更新,并且不会再次打扰用户


    要使其成为可重复的巡更,请通过选项中的“storage:false”禁用存储,或者使用restart()而不是start()。

    如果要连续运行,请创建如下实例

        var tour = new Tour({
        storage: false,
        steps: [],
    });
    
    然后单击某个按钮调用这些函数

    $(document).ready(function(){
            $('#tour').click(function(){
                tour.init();
                tour.restart();
            });
        });
    
    如果(像我一样)希望在帮助或配置文件应用程序中添加按钮以重新启用巡更,则可以删除存储

    function reset_tour() {      
          window.localStorage.removeItem('tour_current_step');
          window.localStorage.removeItem('tour_end');
    }
    

    这将在用户仅重新加载页面1次时重新启动浏览。

    谢谢!它可以工作!本以为这是关于存储的,但不知道可以使用“false”来禁用它。但当您执行2/3步骤时,它仍然会断开,例如,您执行页面刷新:(