【问题标题】:How to fix MyBB Javascript error如何修复 MyBB Javascript 错误
【发布时间】:2016-11-18 13:35:54
【问题描述】:

我正在尝试将 JS 代码添加到我的模板中,但出现了安全错误:

在模板中发现了一个潜在的安全问题。请查看您的更改或联系 MyBB Group 寻求支持。

代码:

//Start navbar toggle fix top bottom
    $(document).on('click', '.toggle_fixing', function(e) {
        e.preventDefault();
        if ($('#main_navbar').hasClass('navbar-fixed-top')) {
            $('#main_navbar').toggleClass('navbar-fixed-bottom navbar-fixed-top');
            $(this).children('i').toggleClass('fa-chevron-down fa-chevron-up');
        } else {
            $('#main_navbar').toggleClass('navbar-fixed-bottom');
            $(this).children('i').toggleClass('fa-chevron-down fa-chevron-up');
            if ($('#main_navbar').parent('div').hasClass('container')) $('#main_navbar').children('div').addClass('container').removeClass('container-fluid');
            else if ($('#main_navbar').parent('div').hasClass('container-fluid')) $('#main_navbar').children('div').addClass('container-fluid').removeClass('container');
            FixMegaNavbar(navHeight);
        }
        if ($('#main_navbar').hasClass('navbar-fixed-top')) {$('body').css({'margin-top': $('#main_navbar').height()+'px', 'margin-bottom': ''});}
        else if ($('#main_navbar').hasClass('navbar-fixed-bottom')) {$('body').css({'margin-bottom': $('#main_navbar').height()+'px', 'margin-top': ''});}
    })
    //End navbar toggle fix top bottom

    //Start Fix MegaNavbar on scroll page
    var navHeight = $('#main_navbar').offset().top;
    FixMegaNavbar(navHeight);
    $(window).bind('scroll', function() {FixMegaNavbar(navHeight);});


    function FixMegaNavbar(navHeight) {
        if (!$('#main_navbar').hasClass('navbar-fixed-bottom')) {
            if ($(window).scrollTop() > navHeight) {
                $('#main_navbar').addClass('navbar-fixed-top')
                $('body').css({'margin-top': $('#main_navbar').height()+'px'});
                if ($('#main_navbar').parent('div').hasClass('container')) $('#main_navbar').children('div').addClass('container').removeClass('container-fluid');
                else if ($('#main_navbar').parent('div').hasClass('container-fluid')) $('#main_navbar').children('div').addClass('container-fluid').removeClass('container');
            }
            else {
                $('#main_navbar').removeClass('navbar-fixed-top');
                $('#main_navbar').children('div').addClass('container-fluid').removeClass('container');
                $('body').css({'margin-top': ''});
            }
        }
    }
    //End Fix MegaNavbar on scroll page

    //Next code used to prevent unexpected menu close when using some components (like accordion, tabs, forms, etc), please add the next JavaScript to your page
    $( window ).load(function() {
        $(document).on('click', '.navbar .dropdown-menu', function(e) {e.stopPropagation();});
    });

我该如何解决这个错误?

【问题讨论】:

    标签: javascript mybb


    【解决方案1】:

    在这里暗中尝试,但可能是 MyBB 不同意您的代码格式。

    当它包含这样的东西时:{$('body').css,它可能会混淆它作为模板变量;例如。 {$header}.

    尝试用另一种方式格式化您的代码,这样美元符号旁边就没有括号了。

    或者,可能值得将 js 排除在模板之外并将其保存在 js 文件中。

    【讨论】:

    • 我将此代码添加到外部文件中。但它没有用。当我删除这部分时,一些功能正在工作: //Start Fix MegaNavbar on scroll page var navHeight = $('#main_navbar').offset().top; FixMegaNavbar(navHeight); $(window).bind('scroll', function() {FixMegaNavbar(navHeight);});
    • 是否在模板中发现了潜在的安全问题。请查看您的更改或联系 MyBB Group 寻求支持。 消息消失?如果是这样,我建议将此标记为已回答并使用 javascript 标签创建一个新问题。如果你打开javascript控制台,有什么错误吗?
    猜你喜欢
    • 2019-11-10
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多