smoothstate将错误的head元素注入页面

时间:2018-10-01 22:25:25

标签: javascript ajax html5 smoothstate.js

问题

Smoothstate.js保留我刚才所在页面的<head>,并在我导航回index.html时将其重新注入主页。

例如:我单击一个将我带到proj1.html的链接,然后我想通过单击指向该链接回到index.html的主页链接来离开该页面。页面返回首页,但布局被破坏,因为主页<head>包含<head>的{​​{1}}中的内容。因此使所有样式都在主页上破坏了。

Smoothstate正在缓存proj1.html,但我不确定如何防止这种情况发生...

我尝试使用缓存清除方法,但它们没有成功。 <head>

这是我的JS

smoothState.clear();

1 个答案:

答案 0 :(得分:0)

已修复。 <head>加载问题是由于未向$page对象添加适当的类引起的。

  1. #main包含了我想要淡出的所有内容。
  2. head是我们的<head>元素,其中包含所有样式。
  3. body页面的整个正文。

var $page = $('#main','head','body')

$(function(){
  'use strict';
  var $page = $('#main','head','body'),
      options = {
        debug: true,
        prefetch: true,
        cacheLength: 1,
        blacklist:'.luxbar-item',
        onStart: {
          duration: 250, // Duration of our animation
          render: function ($container) {
            // Add your CSS animation reversing class
            $container.addClass('is-exiting');
            // Restart your animation
            smoothState.restartCSSAnimations();
          }
        },
        onStart: {
          duration: 0,
          render: function ($container, $newContent) {
            // Remove your CSS animation reversing class
            $container.removeClass('is-exiting');
            // Inject the new content
            $container.html($newContent);
          }
        }
      },
      smoothState = $page.smoothState(options).data('smoothState');
});