微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未捕获的SyntaxError:内联JS上的无效或意外令牌浏览器上的JS脚本中断

如何解决未捕获的SyntaxError:内联JS上的无效或意外令牌浏览器上的JS脚本中断

我面临的一个问题令人困惑,实际上使我精疲力尽了数小时。 我尝试了很多不同的事情,已经做过并且仍在进行各种调试技术,但是我很累,会寻求任何形式的帮助。

如果有人有任何有用的想法/建议来解开我,我将发布一些非常基础的入门知识,并且如果需要的话,我可能会添加更多信息或更多代码

我正在Joomla网站和自定义组件视图上工作,我在HTML输出的某个位置放置了一个内联jQuery脚本。

问题在于,尽管一切都可以在我的本地主机上正常运行,但是当我在线上传时,javascript会在试图创建包含html的变量时中断。然后,浏览器将使用</script>自动关闭script标签,其余的js代码输出为html。

例如,以下脚本:

<script>
(function($)
{
    $(document).ready(function()
    {

        var loader = '<div id="loader"><div>';
        
    });
})(jQuery);
</script>

最终将如下所示:

<script>
(function($)
{
    $(document).ready(function()
    {

        var loader = '<div id="loader">';
        </div></script>

    });
})(jQuery);
</script>

*我刚刚得到的另一个线索是,问题似乎出在我将其上传到Litespeed服务器上时。 我使用Litespeed在2台不同的服务器上进行了测试,然后在1台Apache上进行了测试。 在Apache服务器上的服务器工作正常(例如在我的本地主机上)。

这是我完整的内联脚本,以防万一有人在赶上我所缺少的任何内容

(function($)
{
    $(document).ready(function()
    {
    function capitalizefirstLetter(string) {
      return string.charat(0).toupperCase() + string.slice(1);
    }
    var obj = <?PHP echo json_encode($availableTags); ?>;
    var searchForm = $('#adminForm');
    var predefinedTags = $('.tags-cloud.popular-tags .li-item');
    var searchTermId = '';
    var oldSearchTermId = '';
    var categories = <?PHP echo json_encode( $search_categories ); ?>;
    var categoriesAction = '<?PHP echo (int)$sel_categories_option; ?>';
    var list_limit = '<?PHP echo (int)$list_limit; ?>';
    var list_limitstart = 0;
    var list_order_by = '<?PHP echo $list_order_by; ?>';
    var list_order_dir = '<?PHP echo $list_order_dir; ?>';
    var menuItem = '<?PHP echo (int)$menuItem; ?>';

    var show_image = '<?PHP echo (int)$show_image; ?>';
    var show_date = '<?PHP echo (int)$show_date; ?>';
    var which_date = '<?PHP echo $which_date; ?>';
    var show_category = '<?PHP echo (int)$show_category; ?>';
    var searchResults;
    var loadMore = false;
    var loader = "";

    // Form submit
    $(searchForm).on('submit',function(e) {
      searchTermId = $('#sm-search-term-id').val();
      e.preventDefault();
      ajaxSearchArticles();
    });

    $('.search-order-selects').on('change',function(e) {
      searchTermId = $('#sm-search-term-id').val();
      list_order_by = $('#search-order').val();
      list_order_dir = $('#search-order-dir').val();
      list_limitstart = 0;
      ajaxSearchArticles();
    });

    $(predefinedTags).on('click',function(e) {
      searchTermId = $(this).attr('data-tagid');
      $( "#sm-search" ).val( $(this).text() );
      $( "#sm-search-term-id" ).val( searchTermId );
      $( "#sm-search-description" ).html( '(' + $(this).attr('total_articles') + ' Total Articles)');
      ajaxSearchArticles();
      return false;
    });

    $('#search-results').on('click','#load-more-div',function() {
      searchTermId = $('#sm-search-term-id').val();
      list_limitstart = parseInt(list_limitstart) + parseInt(list_limit);
      loadMore = true;
      ajaxSearchArticles();
    });

    function appendResults() {
      var html = '';
      oldSearchTermId = searchTermId;
      var l = parseInt(list_limit);
      $(searchResults).each(function(i,e) {
        var itemi = list_limitstart + i;
        if (i < l) {
          html += '<div id="artid-'+e.id+'" class="sm-search-result g-block s-item-'+itemi+'">';
          html += '<div class="sm-search-result-content">';

          if (show_image == '1') {
            html += '<a href="'+ e.url +'" title="'+e.title+'" target="_blank">';
            html += '<div class="smrc-image-holder"><img src="' + e.images + '" alt="'+e.title+'" /></div></a>';
          }
          html += '<div class="smrc-text-block"><a href="'+ e.url +'" title="'+e.title+'" target="_blank"><h3>'+e.title+'</h3></a><p>'+e.introtext+'</p>';
          if (show_date || show_category) {
            html += '<div class="item-Meta">';
            if (show_date) {
              var date = e.modified;
              if (which_date === 'created') {
                var date = e.created;
              }
              html += '<span class="item-date"><i class="fa fa-calendar-o" aria-hidden="true"></i> '+ date +'</span>';
            }
            if (show_category) {
              html += '<span class="item-cat">in '+e.category +'</span>';
            }
            html += '</div>';
          }

          html += '</div></div></div>';
        }
        if (i === l) {
          html += '<div id="load-more-div" class="sm-search-result load-more g-block">';
          html += '<div class="sm-search-result-content" style="display: flex;align-items: flex-end;justify-content: center;height: 100%;">';
          html += '<div class="load-more-results flex-item"><span>Load More...</span></div>';
          html += '</div></div>';
        }
      });
      html += '<div class="clear clearfix"></div>';
      if (loadMore) {
        $('#search-results').append(html);
      } else {
        $('#search-results').html(html);
      }

      loadMore = false;
    }

    // Autocomplete
    $( function() {
      var results = true;
      $( "#sm-search" ).autocomplete({
       minLength: 3,source: obj,focus: function( event,ui ) {
         if (results) {
          $( "#sm-search" ).val( ui.item.label );
         }
         event.preventDefault();
         return false;
       },select: function( event,ui ) {
         if (results) {
           $( "#sm-search" ).val( ui.item.label );
           $( "#sm-search-term-id" ).val( ui.item.value );
           $( "#sm-search-description" ).html( '(' + ui.item.total_articles + ' Total Articles)');
         }
         event.preventDefault();
         $(searchForm).submit();
         return false;
       },response: function(event,ui) {
          if (ui.content.length === 0) {
            results = false;
            var res = { label: "no results",value: 0 };
            ui.content.push(res);
          } else {
            results = true;
          }
        }
     }).autocomplete( "instance" )._renderItem = function( ul,item ) {
       if (results) {
        return $( "<li>" )
          .append( "<div><strong>" + capitalizefirstLetter(item.label) + "</strong> <small>(" + item.total_articles + " articles)</small></div>" )
          .appendTo( ul );
        } else {
          return $( "<li>" )
            .append( "<div>" + item.label + "</div>" )
            .appendTo( ul );
        }
      };
    });


    // Ajax call
    function ajaxSearchArticles() {
      if (!searchTermId) {
        $('#empty-message').text('No Tags Defined!');
        setTimeout(function() {
          $('#empty-message').text('');
        },3000);
        return false;
      }
      $('body').append(loader);
      if (searchTermId !== oldSearchTermId) {
        list_limitstart = 0;
      }
      var xhrRequest = {
        'option'    : 'com_rabattdatabase','task'      : 'RabattAjax.ajaxReceiver','action'    : 'customSearch','tagid'   : searchTermId,'orderby' : list_order_by,'orderdir': list_order_dir,'limit'   : list_limit,'limitstart'   : list_limitstart,'cats'    : categories,'itemid'  : menuItem,'catswhat': categoriesAction,'<?PHP echo JSession::getFormToken();?>' : 1,};

      $.ajax({
        context : this,type    : 'POST',data    : xhrRequest,success : function(response) {
          var response = $.parseJSON(response);
          searchResults = response.data;
          if (response.success == true) {
            appendResults();
          } else {
            $('#search-results').html("<h4>We Couldn't process your request!</h4>");
          }
        }
      }); // End Ajax
    }

    })
})(jQuery);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。