javascript - 仅在特定网址上显示小部件
问题描述
我在网站的页脚中有一个脚本。如果 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", 203651941, {tooltipButtonText: "Any Question?"});
}}
</script>
此代码产生以下错误:
未捕获的 SyntaxError:意外的标识符(字符串 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", 203651941, {tooltipButtonText: "Any Question?"});
}
}
</script>
推荐阅读
- android - PendingIntent from Notifications are not coming back to service. Showing java.lang.NullPointerException
- node.js - 基于其他模型自动更新 MongoDB 模型
- find - 移动文件和复制子树
- wordpress - WC 费用 API 后计算运费
- assembly - 一个简单的 hello world shellcode 中的分段错误?
- c# - 如何使用用户输入名称创建文件?
- r - Check if columns of one data frame are present in another data frame with non-zero element in R
- javascript - 将 DIV 子项更改为无显示
- amazon-web-services - 基于标签的 AWS IAM 政策限制未授予我任何访问权限
- html - 如何在 HTML 中的列表下添加空格