Hello,
Thanks for your Patience! [sb_private_reply]Your Support Query was answered according to the dates mentioned. This might have been a cache issue. We will definitely look into what went wrong with this.[/sb_private_reply]
Without a Live URL it is really hard to understand the core issue. Additionally, we hope you understand that this is a Customization Request and a feature which is not included by default into Canvas. The real issue here is the JS Initialization which causes all the messup. The js/function.js File is designed in a way so that it minimizes the risk of the js garbage bubbling up in the Memory which caused a website to lag. The jQuery Objects are initialized only once on Page Load and reused when necessary. But the way you are adding the Header and Footer on the Page using JS, the default js/functions.js File do not find the Elements on the Page. This is the code which initializes the objects present on a Page:
var $window = $(window),
$body = $('body'),
$wrapper = $('#wrapper'),
$header = $('#header'),
$headerWrap = $('#header-wrap'),
$content = $('#content'),
$footer = $('#footer'),
windowWidth = $window.width(),
oldHeaderClasses = $header.attr('class'),
oldHeaderWrapClasses = $headerWrap.attr('class'),
stickyMenuClasses = $header.attr('data-sticky-class'),
responsiveMenuClasses = $header.attr('data-responsive-class'),
defaultLogo = $('#logo').find('.standard-logo'),
defaultLogoWidth = defaultLogo.find('img').outerWidth(),
retinaLogo = $('#logo').find('.retina-logo'),
defaultLogoImg = defaultLogo.find('img').attr('src'),
retinaLogoImg = retinaLogo.find('img').attr('src'),
defaultDarkLogo = defaultLogo.attr('data-dark-logo'),
retinaDarkLogo = retinaLogo.attr('data-dark-logo'),
defaultStickyLogo = defaultLogo.attr('data-sticky-logo'),
retinaStickyLogo = retinaLogo.attr('data-sticky-logo'),
defaultMobileLogo = defaultLogo.attr('data-mobile-logo'),
retinaMobileLogo = retinaLogo.attr('data-mobile-logo'),
$pagemenu = $('#page-menu'),
$onePageMenuEl = $('.one-page-menu'),
onePageGlobalOffset = 0,
$portfolio = $('.portfolio'),
$shop = $('.shop'),
$gridContainer = $('.grid-container'),
$slider = $('#slider'),
$sliderParallaxEl = $('.slider-parallax'),
swiperSlider = '',
$pageTitle = $('#page-title'),
$portfolioItems = $('.portfolio-ajax').find('.portfolio-item'),
$portfolioDetails = $('#portfolio-ajax-wrap'),
$portfolioDetailsContainer = $('#portfolio-ajax-container'),
$portfolioAjaxLoader = $('#portfolio-ajax-loader'),
$portfolioFilter = $('.portfolio-filter,.custom-filter'),
prevPostPortId = '',
$topSearch = $('#top-search'),
$topCart = $('#top-cart'),
$verticalMiddleEl = $('.vertical-middle'),
$topSocialEl = $('#top-social').find('li'),
$siStickyEl = $('.si-sticky'),
$dotsMenuEl = $('.dots-menu'),
$goToTopEl = $('#gotoTop'),
$fullScreenEl = $('.full-screen'),
$commonHeightEl = $('.common-height'),
$testimonialsGridEl = $('.testimonials-grid'),
$pageSectionEl = $('.page-section'),
$owlCarouselEl = $('.owl-carousel'),
$parallaxEl = $('.parallax'),
$parallaxPageTitleEl = $('.page-title-parallax'),
$parallaxPortfolioEl = $('.portfolio-parallax').find('.portfolio-image'),
$textRotaterEl = $('.text-rotater'),
$cookieNotification = $('#cookie-notification');
So if the Header does not exist on your Page, then the all the above JS(related to Header) will not initialize throwing an Error which is why you will need to include all the Header, Primary menu, Top Search, Top Cart or any JS related to the Headers from the js/functions.js in your load() Function.
It is highly recommended to use PHP to include all the Dynamic HTML since this will cause no issues with any Elements at all!
Hope this Helps!
Let us know if we can help you with anything else or if you find any further issues.