仅在特定 url 上显示小部件

问题描述

我在网站的页脚中有一个脚本。如果 url 包含“mystring”,我希望显示小部件,如果不包含,则不显示

<script>
    if (window.location.href.indexOf("mystring") > -1) {
        <script type="text/javascript" src="https://vk.com/js/apI/Openapi.js?169"></script>
        <!-- VK Widget -->
        <div id="vk_community_messages"></div>
        <script type="text/javascript">
        if($(window).width()>800) { 
        VK.Widgets.CommunityMessages("vk_community_messages",203651941,{expandTimeout: "20000",tooltipButtonText: "Any Question?"});
        }
        if($(window).width()<=800) {
        VK.Widgets.CommunityMessages("vk_community_messages",{tooltipButtonText: "Any Question?"});
        }}
</script>

代码产生以下错误

Uncaught SyntaxError: Unexpected identifier (string 3)

Uncaught SyntaxError: Unexpected token '}' (string 12)

解决方法

您在外部 <script> 标签中有 <script> 标签和其他 HTML,这是不允许的,也不会起作用。这是您在第一次学习 HTML 和 JavaScript 时应该学习的相当基本的东西。

这会更有意义(我无法轻松测试它,因此不能保证它会完全正常工作,但它肯定不会有任何基本的设计缺陷或语法错误,因此它应该为您指明正确的道路):

<div id="vk_community_messages"></div>

<script type="text/javascript" src="https://vk.com/js/api/openapi.js?169"></script>
<script>
    if (window.location.href.indexOf("mystring") > -1) {
        if($(window).width()>800) { 
          VK.Widgets.CommunityMessages("vk_community_messages",203651941,{expandTimeout: "20000",tooltipButtonText: "Any Question?"});
        }

        if($(window).width()<=800) {
          VK.Widgets.CommunityMessages("vk_community_messages",{tooltipButtonText: "Any Question?"});
        }
    }
</script>